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