#![feature(fn_traits, unboxed_closures, tuple_trait)] use std::default::Default; use std::marker::Tuple; fn wrap(func: impl Fn) { 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); }