struct A<T> { | |
//~^ ERROR recursive types `A` and `B` have infinite size | |
x: T, | |
y: B<T>, | |
} | |
struct B<T> { | |
z: A<T> | |
} | |
struct C<T> { | |
//~^ ERROR recursive types `C` and `D` have infinite size | |
x: T, | |
y: Option<Option<D<T>>>, | |
} | |
struct D<T> { | |
z: Option<Option<C<T>>>, | |
} | |
fn main() {} |