#### Note: this error code is no longer emitted by the compiler. You cannot define a struct (or enum) `Foo` that requires an instance of `Foo` in order to make a new `Foo` value. This is because there would be no way a first instance of `Foo` could be made to initialize another instance! Here's an example of a struct that has this problem: ``` struct Foo { x: Box } // error ``` One fix is to use `Option`, like so: ``` struct Foo { x: Option> } ``` Now it's possible to create at least one instance of `Foo`: `Foo { x: None }`.