// check-pass #![feature(type_alias_impl_trait)] trait Duh {} impl Duh for i32 {} trait Trait { type Assoc: Duh; } impl Trait for F { type Assoc = F; } type Traitable = impl Trait; //~^ WARN opaque type `Traitable` does not satisfy its associated type bounds fn foo() -> Traitable { 42 } fn main() { }