## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# 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!
    }
    }