Error code E0407

A definition of a method not in the implemented trait was given in a trait implementation.

Erroneous code example:

trait Foo {
    fn a();
}

struct Bar;

impl Foo for Bar {
    fn a() {}
    fn b() {} // error: method `b` is not a member of trait `Foo`
}
Run

Please verify you didn’t misspell the method name and you used the correct trait. First example:

trait Foo {
    fn a();
    fn b();
}

struct Bar;

impl Foo for Bar {
    fn a() {}
    fn b() {} // ok!
}
Run

Second example:

trait Foo {
    fn a();
}

struct Bar;

impl Foo for Bar {
    fn a() {}
}

impl Bar {
    fn b() {}
}
Run

Back to list of error codes