blob: 0e5afb4da61b8077f41803e621cd6a4f30220735 [file] [log] [blame] [edit]
//@ 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() {}