error[E0277]: the trait bound `C: 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 `Copy`
   |             help: consider borrowing here: `&B { a: 1, b: C }`
   |
   = note: required because of the requirements on the impl of `Copy` for `B<C>`

error[E0277]: the trait bound `C: 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 `Clone`
   |              help: consider borrowing here: `&B { a: 1, b: C }`
   |
   = note: required because of the requirements on the impl of `Clone` for `B<C>`

error[E0277]: the trait bound `D: 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 `Copy`
   |             help: consider borrowing here: `&B { a: 1, b: D }`
   |
   = note: required because of the requirements on the impl of `Copy` for `B<D>`

error: aborting due to 3 previous errors

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