Rust errors / Names, paths and imports
Rust compiler error · checked with rustc 1.99.0
Rust error E0254: the name `core` is defined multiple times
What it meansAttempt was made to import an item whereas an extern crate with this name has already been imported.
What rustc prints
error[E0254]: the name `core` is defined multiple times --> main.rs:9:5 | 1 | extern crate core; | ------------------ previous import of the extern crate `core` here ... 9 | use foo::core; // error: an extern crate named `core` has already | ^^^^^^^^^ `core` reimported here | = note: `core` must be defined only once in the type namespace of this module help: you can use `as` to change the binding name of the import | 9 | use foo::core as other_core; // error: an extern crate named `core` has already | +++++++++++++
Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
Attempt was made to import an item whereas an extern crate with this name has already been imported.
Erroneous code example:
extern crate core;
mod foo {
pub trait core {
fn do_something();
}
}
use foo::core; // error: an extern crate named `core` has already
// been imported in this module
fn main() {}
To fix this issue, you have to rename at least one of the two imports. Example:
extern crate core as libcore; // ok!
mod foo {
pub trait core {
fn do_something();
}
}
use foo::core;
fn main() {}From rustc --explain E0254 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0425cannot find value in this scope
- E0603is private
- E0432unresolved import
- E0005refutable pattern in local binding
- E0130patterns aren't allowed in foreign function declarations
- E0252the name `baz` is defined multiple times
- E0255the name `foo` is defined multiple times
- E0259the name `core` is defined multiple times
Up next
Often hit nextE0425: cannot find value in this scopeA related error from the same family.Read it next →Did this answer your question?