// Opaque type. #![feature(type_alias_impl_trait)] pub type Adder where T: Clone, F: Copy, = impl Fn(T) -> T; pub type Adderrr = impl Fn(T) -> T; impl Foo for Bar { type E = impl Trait; } pub type Adder_without_impl where T: Clone, F: Copy, = Fn(T) -> T; pub type Adderrr_without_impl = Fn(T) -> T;