1 #![feature(box_syntax)]
3 fn needs_fn<F>(x: F) where F: Fn(isize) -> isize {}
6 let _: () = (box |_: isize| {}) as Box<dyn FnOnce(isize)>;
7 //~^ ERROR mismatched types
8 //~| expected unit type `()`
9 //~| found struct `Box<dyn FnOnce(isize)>`
10 let _: () = (box |_: isize, isize| {}) as Box<dyn Fn(isize, isize)>;
11 //~^ ERROR mismatched types
12 //~| expected unit type `()`
13 //~| found struct `Box<dyn Fn(isize, isize)>`
14 let _: () = (box || -> isize { unimplemented!() }) as Box<dyn FnMut() -> isize>;
15 //~^ ERROR mismatched types
16 //~| expected unit type `()`
17 //~| found struct `Box<dyn FnMut() -> isize>`
20 //~^ ERROR expected a `Fn<(isize,)>` closure, found `{integer}`