## 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 E0774

`derive` was applied on something which is not a struct, a union or an enum.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    trait Foo {
        #[derive(Clone)] // error!
        type Bar;
    }
    }

As said above, the `derive` attribute is only allowed on structs, unions or enums:

    #![allow(unused)]
    fn main() {
    #[derive(Clone)] // ok!
    struct Bar {
        field: u32,
    }
    }

You can find more information about `derive` in the Rust Book.