| An unresolved name was used. | |
| Erroneous code examples: | |
| ```compile_fail,E0425 | |
| something_that_doesnt_exist::foo; | |
| // error: unresolved name `something_that_doesnt_exist::foo` | |
| // or: | |
| trait Foo { | |
| fn bar() { | |
| Self; // error: unresolved name `Self` | |
| } | |
| } | |
| // or: | |
| let x = unknown_variable; // error: unresolved name `unknown_variable` | |
| ``` | |
| Please verify that the name wasn't misspelled and ensure that the | |
| identifier being referred to is valid for the given situation. Example: | |
| ``` | |
| enum something_that_does_exist { | |
| Foo, | |
| } | |
| ``` | |
| Or: | |
| ``` | |
| mod something_that_does_exist { | |
| pub static foo : i32 = 0i32; | |
| } | |
| something_that_does_exist::foo; // ok! | |
| ``` | |
| Or: | |
| ``` | |
| let unknown_variable = 12u32; | |
| let x = unknown_variable; // ok! | |
| ``` | |
| If the item is not defined in the current module, it must be imported using a | |
| `use` statement, like so: | |
| ``` | |
| # mod foo { pub fn bar() {} } | |
| # fn main() { | |
| use foo::bar; | |
| bar(); | |
| # } | |
| ``` | |
| If the item you are importing is not defined in some super-module of the | |
| current module, then it must also be declared as public (e.g., `pub fn`). |