1 // Opaque type. 2 3 #![feature(type_alias_impl_trait)] 4 5 pub type Adder<F, T> 6 where 7 T: Clone, 8 F: Copy, 9 = impl Fn(T) -> T; 10 11 pub type Adderrr<T> = impl Fn(T) -> T; 12 13 impl Foo for Bar { 14 type E = impl Trait; 15 } 16 17 pub type Adder_without_impl<F, T> 18 where 19 T: Clone, 20 F: Copy, 21 = Fn(T) -> T; 22 23 pub type Adderrr_without_impl<T> = Fn(T) -> T; 24