error[E0277]: the trait bound `C: std::marker::Copy` is not satisfied
  --> $DIR/deriving-copyclone.rs:31:13
   |
LL | fn is_copy<T: 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<C>`

error[E0277]: the trait bound `C: std::clone::Clone` is not satisfied
  --> $DIR/deriving-copyclone.rs:32:14
   |
LL | fn is_clone<T: 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<C>`

error[E0277]: the trait bound `D: std::marker::Copy` is not satisfied
  --> $DIR/deriving-copyclone.rs:35:13
   |
LL | fn is_copy<T: 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<D>`

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0277`.
