1 error[E0072]: recursive type `Foo` has infinite size
2 --> $DIR/issue-17431-3.rs:3:1
4 LL | struct Foo { foo: Mutex<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<Mutex<Option<Foo>>> }
13 LL | struct Foo { foo: Rc<Mutex<Option<Foo>>> }
15 LL | struct Foo { foo: &Mutex<Option<Foo>> }
18 error: aborting due to previous error
20 For more information about this error, try `rustc --explain E0072`.