trait Foo { const ASSOC: bool = true; } impl<T> Foo for fn(T) {} fn foo(_x: i32) {} fn impls_foo<T: Foo>(_x: T) {} fn main() { impls_foo(foo as fn(i32)); <fn(&u8) as Foo>::ASSOC; //~^ ERROR implementation of `Foo` is not general enough //~| ERROR implementation of `Foo` is not general enough }