diff options
Diffstat (limited to 'tests/ui/unsized/box-instead-of-dyn-fn.rs')
-rw-r--r-- | tests/ui/unsized/box-instead-of-dyn-fn.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ui/unsized/box-instead-of-dyn-fn.rs b/tests/ui/unsized/box-instead-of-dyn-fn.rs new file mode 100644 index 000000000..2fa741bc1 --- /dev/null +++ b/tests/ui/unsized/box-instead-of-dyn-fn.rs @@ -0,0 +1,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() {} |