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.