error[E0277]: the trait bound `C: std::marker::Copy` is not satisfied --> $DIR/deriving-copyclone.rs:31:13 | LL | fn is_copy(_: T) {} | ---- required by this bound in `is_copy` ... LL | is_copy(B { a: 1, b: C }); | ^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `std::marker::Copy` | help: consider borrowing here: `&B { a: 1, b: C }` | = note: required because of the requirements on the impl of `std::marker::Copy` for `B` error[E0277]: the trait bound `C: std::clone::Clone` is not satisfied --> $DIR/deriving-copyclone.rs:32:14 | LL | fn is_clone(_: T) {} | ----- required by this bound in `is_clone` ... LL | is_clone(B { a: 1, b: C }); | ^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `std::clone::Clone` | help: consider borrowing here: `&B { a: 1, b: C }` | = note: required because of the requirements on the impl of `std::clone::Clone` for `B` error[E0277]: the trait bound `D: std::marker::Copy` is not satisfied --> $DIR/deriving-copyclone.rs:35:13 | LL | fn is_copy(_: T) {} | ---- required by this bound in `is_copy` ... LL | is_copy(B { a: 1, b: D }); | ^^^^^^^^^^^^^^^^ | | | expected an implementor of trait `std::marker::Copy` | help: consider borrowing here: `&B { a: 1, b: D }` | = note: required because of the requirements on the impl of `std::marker::Copy` for `B` error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0277`.