Rust errors / Names, paths and imports
Rust compiler error · checked with rustc 1.99.0
Rust error E0260: the name `core` is defined multiple times
What it meansThe name for an item declaration conflicts with an external crate's name.
What rustc prints
error[E0260]: the name `core` is defined multiple times --> main.rs:3:1 | 1 | extern crate core; | ------------------ previous import of the extern crate `core` here 2 | 3 | struct core; | ^^^^^^^^^^^^ `core` redefined 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 | 1 | extern crate core as other_core; | +++++++++++++
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
The name for an item declaration conflicts with an external crate's name.
Erroneous code example:
extern crate core;
struct core;
fn main() {}
There are two possible solutions:
Solution #1: Rename the item.
extern crate core;
struct xyz;
Solution #2: Import the crate with a different name.
extern crate core as xyz;
struct abc;
See the Declaration Statements section of the reference for more information about what constitutes an item declaration and what does not.
From rustc --explain E0260 (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
- E0255the name `foo` is defined multiple times
- E0259the name `core` is defined multiple times
- E0365`foo` is only public within the crate, and cannot be re-exported outside
- E0423cannot find function, tuple struct or tuple variant `Foo` in this scope
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?