1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
// check-pass #![feature(type_alias_impl_trait)] trait Duh {} impl Duh for i32 {} trait Trait { type Assoc: Duh; } impl<F: Duh> Trait for F { type Assoc = F; } type Sendable = impl Send; type Traitable = impl Trait<Assoc = Sendable>; fn foo() -> Traitable { 42 } fn main() { }