rust/tests/ui/unsized/box-instead-of-dyn-fn.rs
2023-01-11 09:32:08 +00:00

16 lines
425 B
Rust

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() {}