Error code E0399
Note: this error code is no longer emitted by the compiler
You implemented a trait, overriding one or more of its associated types but did not reimplement its default methods.
Example of erroneous code:
#![allow(unused)] #![feature(associated_type_defaults)] fn main() { pub trait Foo { type Assoc = u8; fn bar(&self) {} } impl Foo for i32 { // error - the following trait items need to be reimplemented as // `Assoc` was overridden: `bar` type Assoc = i32; } }
To fix this, add an implementation for each default method from the trait:
#![allow(unused)] #![feature(associated_type_defaults)] fn main() { pub trait Foo { type Assoc = u8; fn bar(&self) {} } impl Foo for i32 { type Assoc = i32; fn bar(&self) {} // ok! } }