Rust errors / Names, paths and imports
Rust compiler error · checked with rustc 1.99.0
Rust error E0592: duplicate definitions with name `bar`
What it meansThis error occurs when you defined methods or associated functions with same name.
What rustc prints
error[E0592]: duplicate definitions with name `bar`
--> main.rs:4:5
|
4 | fn bar() {} // previous definition here
| ^^^^^^^^ duplicate definitions for `bar`
...
8 | fn bar() {} // duplicate definition here
| -------- other definition for `bar`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
This error occurs when you defined methods or associated functions with same name.
Erroneous code example:
struct Foo;
impl Foo {
fn bar() {} // previous definition here
}
impl Foo {
fn bar() {} // duplicate definition here
}
A similar error is E0201. The difference is whether there is one declaration block or not. To avoid this error, you must give each fn a unique name.
struct Foo;
impl Foo {
fn bar() {}
}
impl Foo {
fn baz() {} // define with different name
}From rustc --explain E0592 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
Up next
Often hit nextE0201: duplicate definitions with name `baz`:A related error from the same family.Read it next →Did this answer your question?