| #![feature(fn_traits, unboxed_closures, tuple_trait)] | |
| use std::default::Default; | |
| use std::marker::Tuple; | |
| fn wrap<P: Tuple + Default, T>(func: impl Fn<P, Output = T>) { | |
| let x: P = Default::default(); | |
| // Should be: `func.call(x);` | |
| func(x); | |
| //~^ ERROR cannot use call notation; the first type parameter for the function trait is neither a tuple nor unit | |
| } | |
| fn foo() {} | |
| fn main() { | |
| wrap(foo); | |
| } |