| error[E0072]: recursive types `A` and `B` have infinite size | |
| --> $DIR/mutual-struct-recursion.rs:1:1 | |
| | | |
| LL | struct A<T> { | |
| | ^^^^^^^^^^^ | |
| ... | |
| LL | y: B<T>, | |
| | ---- recursive without indirection | |
| ... | |
| LL | struct B<T> { | |
| | ^^^^^^^^^^^ | |
| LL | z: A<T> | |
| | ---- recursive without indirection | |
| | | |
| help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle | |
| | | |
| LL ~ y: Box<B<T>>, | |
| LL | } | |
| LL | | |
| LL | struct B<T> { | |
| LL ~ z: Box<A<T>> | |
| | | |
| error[E0072]: recursive types `C` and `D` have infinite size | |
| --> $DIR/mutual-struct-recursion.rs:11:1 | |
| | | |
| LL | struct C<T> { | |
| | ^^^^^^^^^^^ | |
| ... | |
| LL | y: Option<Option<D<T>>>, | |
| | ---- recursive without indirection | |
| ... | |
| LL | struct D<T> { | |
| | ^^^^^^^^^^^ | |
| LL | z: Option<Option<C<T>>>, | |
| | ---- recursive without indirection | |
| | | |
| help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle | |
| | | |
| LL ~ y: Option<Option<Box<D<T>>>>, | |
| LL | } | |
| LL | | |
| LL | struct D<T> { | |
| LL ~ z: Option<Option<Box<C<T>>>>, | |
| | | |
| error: aborting due to 2 previous errors | |
| For more information about this error, try `rustc --explain E0072`. |