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.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0774.html