1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// https://github.com/rust-lang/rust/issues/102154 trait A<Y, N> { type B; } type MaybeBox<T> = <T as A<T, Box<T>>>::B; struct P { t: MaybeBox<P> } impl<Y, N> A<Y, N> for P { type B = N; } fn main() { let t: MaybeBox<P>; }