Error code E0425

An unresolved name was used.

Erroneous code examples:

#![allow(unused)]
fn main() {
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:

#![allow(unused)]
fn main() {
enum something_that_does_exist {
    Foo,
}
}

Or:

#![allow(unused)]
fn main() {
mod something_that_does_exist {
    pub static foo : i32 = 0i32;
}

something_that_does_exist::foo; // ok!
}

Or:

#![allow(unused)]
fn main() {
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).