+++ /dev/null
-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`.