// Test the error message resulting from a cycle in solving `Foo: // Sized`. The specifics of the message will of course but the main // thing we want to preserve is that: // // 1. the message should appear attached to one of the structs // defined in this file; // 2. it should elaborate the steps that led to the cycle. struct Baz { q: Option } //~^ ERROR recursive type `Baz` has infinite size struct Foo { q: Option } //~^ ERROR recursive type `Foo` has infinite size impl Foo { fn bar(&self) {} } fn main() {}