struct Foo { foo: Option<Option<Foo>> }
//~^ ERROR recursive type `Foo` has infinite size

impl Foo { fn bar(&self) {} }

fn main() {}