Error code E0407
A definition of a method not in the implemented trait was given in a trait implementation.
Erroneous code example:
#![allow(unused)] fn main() { trait Foo { fn a(); } struct Bar; impl Foo for Bar { fn a() {} fn b() {} // error: method `b` is not a member of trait `Foo` } }
Please verify you didn't misspell the method name and you used the correct trait. First example:
#![allow(unused)] fn main() { trait Foo { fn a(); fn b(); } struct Bar; impl Foo for Bar { fn a() {} fn b() {} // ok! } }
Second example:
#![allow(unused)] fn main() { trait Foo { fn a(); } struct Bar; impl Foo for Bar { fn a() {} } impl Bar { fn b() {} } }