| trait TraitA { | |
| type TypeA; | |
| } | |
| trait TraitD { | |
| type TypeD; | |
| } | |
| pub trait TraitB { | |
| type TypeB: TraitD; | |
| fn f(_: &<Self::TypeB as TraitD>::TypeD); | |
| } | |
| pub trait TraitC<E> { | |
| type TypeC<'a>: TraitB; | |
| fn g<'a>(_: &<<Self::TypeC<'a> as TraitB>::TypeB as TraitA>::TypeA); | |
| //~^ ERROR the trait bound `<<Self as TraitC<E>>::TypeC<'a> as TraitB>::TypeB: TraitA` is not satisfied | |
| } | |
| fn main() {} |