| //@ known-bug: #113846 | |
| trait Www { | |
| type W; | |
| } | |
| trait Xxx: Www<W = Self::X> { | |
| type X; | |
| } | |
| trait Yyy: Xxx {} | |
| trait Zzz<'a>: Yyy + Xxx<X = Self::Z> { | |
| type Z; | |
| } | |
| trait Aaa { | |
| type Y: Yyy; | |
| } | |
| trait Bbb: Aaa<Y = Self::B> { | |
| type B: for<'a> Zzz<'a>; | |
| } | |
| impl<T> Bbb for T | |
| where | |
| T: Aaa, | |
| T::Y: for<'a> Zzz<'a>, | |
| { | |
| type B = T::Y; | |
| } | |
| pub fn main() {} |