W3cubDocs

/Rust

Error code E0073

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:

#![allow(unused)]
fn main() {
struct Foo { x: Box<Foo> } // error
}

One fix is to use Option, like so:

#![allow(unused)]
fn main() {
struct Foo { x: Option<Box<Foo>> }
}

Now it's possible to create at least one instance of Foo: Foo { x: None }.

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0073.html