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 26
#![feature(type_alias_impl_trait)] struct Concrete; type Tait = impl Sized; impl Foo for Concrete { type Item = Concrete; //~^ type mismatch resolving } impl Bar for Concrete { type Other = Tait; } trait Foo { type Item: Bar<Other = Self>; } trait Bar { type Other; } fn tait() -> Tait {} fn main() {}