error[E0277]: the trait bound `B<C>: Copy` is not satisfied
  --> $DIR/deriving-copyclone.rs:31:13
   |
LL |     is_copy(B { a: 1, b: C });
   |     ------- ^^^^^^^^^^^^^^^^ expected an implementor of trait `Copy`
   |     |
   |     required by a bound introduced by this call
   |
note: required because of the requirements on the impl of `Copy` for `B<C>`
  --> $DIR/deriving-copyclone.rs:9:10
   |
LL | #[derive(Copy, Clone)]
   |          ^^^^
note: required by a bound in `is_copy`
  --> $DIR/deriving-copyclone.rs:18:15
   |
LL | fn is_copy<T: Copy>(_: T) {}
   |               ^^^^ required by this bound in `is_copy`
   = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider borrowing here
   |
LL |     is_copy(&B { a: 1, b: C });
   |             +

error[E0277]: the trait bound `B<C>: Clone` is not satisfied
  --> $DIR/deriving-copyclone.rs:32:14
   |
LL |     is_clone(B { a: 1, b: C });
   |     -------- ^^^^^^^^^^^^^^^^ expected an implementor of trait `Clone`
   |     |
   |     required by a bound introduced by this call
   |
note: required because of the requirements on the impl of `Clone` for `B<C>`
  --> $DIR/deriving-copyclone.rs:9:16
   |
LL | #[derive(Copy, Clone)]
   |                ^^^^^
note: required by a bound in `is_clone`
  --> $DIR/deriving-copyclone.rs:19:16
   |
LL | fn is_clone<T: Clone>(_: T) {}
   |                ^^^^^ required by this bound in `is_clone`
   = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider borrowing here
   |
LL |     is_clone(&B { a: 1, b: C });
   |              +

error[E0277]: the trait bound `B<D>: Copy` is not satisfied
  --> $DIR/deriving-copyclone.rs:35:13
   |
LL |     is_copy(B { a: 1, b: D });
   |     ------- ^^^^^^^^^^^^^^^^ expected an implementor of trait `Copy`
   |     |
   |     required by a bound introduced by this call
   |
note: required because of the requirements on the impl of `Copy` for `B<D>`
  --> $DIR/deriving-copyclone.rs:9:10
   |
LL | #[derive(Copy, Clone)]
   |          ^^^^
note: required by a bound in `is_copy`
  --> $DIR/deriving-copyclone.rs:18:15
   |
LL | fn is_copy<T: Copy>(_: T) {}
   |               ^^^^ required by this bound in `is_copy`
   = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider borrowing here
   |
LL |     is_copy(&B { a: 1, b: D });
   |             +

error: aborting due to 3 previous errors

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