// A regression test for #109815. #![feature(min_specialization)] #![feature(rustc_attrs)] #[rustc_specialization_trait] trait X {} trait Y: X {} trait Z { type Assoc: Y; } struct A(T); impl Z for A {} //~^ ERROR not all trait items implemented trait MyFrom { fn from(other: T) -> Self; } impl MyFrom for T { default fn from(other: T) -> T { other } } impl MyFrom< as Z>::Assoc> for T { fn from(other: as Z>::Assoc) -> T { other } } fn main() {}