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