summaryrefslogtreecommitdiffstats
path: root/tests/ui/unsized/box-instead-of-dyn-fn.rs
blob: 2fa741bc1c50be20cfe238326de0a362e84f8e1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use std::fmt::Debug;

// Test to suggest boxing the return type, and the closure branch of the `if`

fn print_on_or_the_other<'a>(a: i32, b: &'a String) -> dyn Fn() + 'a {
    //~^ ERROR return type cannot have an unboxed trait object
    if a % 2 == 0 {
        move || println!("{a}")
    } else {
        Box::new(move || println!("{}", b))
        //~^ ERROR `if` and `else` have incompatible types
    }
}

fn main() {}