Error code E0592

This error occurs when you defined methods or associated functions with same name.

Erroneous code example:

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

#![allow(unused)]
fn main() {
struct Foo;

impl Foo {
    fn bar() {}
}

impl Foo {
    fn baz() {} // define with different name
}
}