error[E0599]: the method `clone` exists for struct `Bar`, but its trait bounds were not satisfied --> $DIR/derive-assoc-type-not-impl.rs:18:30 | LL | struct Bar { | ------------------ | | | method `clone` not found for this struct | doesn't satisfy `Bar: Clone` ... LL | struct NotClone; | --------------- doesn't satisfy `NotClone: Clone` ... LL | Bar:: { x: 1 }.clone(); | ^^^^^ method cannot be called on `Bar` due to unsatisfied trait bounds | note: trait bound `NotClone: Clone` was not satisfied --> $DIR/derive-assoc-type-not-impl.rs:6:10 | LL | #[derive(Clone)] | ^^^^^ unsatisfied trait bound introduced in this `derive` macro = help: items from traits can only be used if the trait is implemented and in scope = note: the following trait defines an item `clone`, perhaps you need to implement it: candidate #1: `Clone` help: consider annotating `NotClone` with `#[derive(Clone)]` | LL + #[derive(Clone)] LL | struct NotClone; | error: aborting due to previous error For more information about this error, try `rustc --explain E0599`.