1 error[E0072]: recursive type `Foo` has infinite size
2 --> $DIR/issue-17431-1.rs:1:1
4 LL | struct Foo { foo: Option<Option<Foo>> }
5 | ^^^^^^^^^^ ------------------- recursive without indirection
7 | recursive type has infinite size
9 help: insert some indirection to make `Foo` representable
11 LL | struct Foo { foo: Box<Option<Option<Foo>>> }
13 LL | struct Foo { foo: Rc<Option<Option<Foo>>> }
15 LL | struct Foo { foo: &Option<Option<Foo>> }
18 error: aborting due to previous error
20 For more information about this error, try `rustc --explain E0072`.