error: invalid `?` in type --> $DIR/infinite-assoc.rs:12:39 | LL | struct A((A, ::T)); | ^ `?` is only allowed on expressions, not types | help: if you meant to express that the type might not contain a value, use the `Option` wrapper type | LL | struct A((A, ::T>)); | +++++++ ~ error[E0072]: recursive type `A` has infinite size --> $DIR/infinite-assoc.rs:12:1 | LL | struct A((A, ::T)); | ^^^^^^^^ - recursive without indirection | help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle | LL | struct A((Box, ::T)); | ++++ + error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0072`.