error[E0204]: the trait `Copy` cannot be implemented for this type --> $DIR/missing-bound-in-derive-copy-impl.rs:9:17 | LL | #[derive(Debug, Copy, Clone)] | ^^^^ LL | pub struct AABB{ LL | pub loc: Vector2, | ------------------- this field does not implement `Copy` | note: the `Copy` impl for `Vector2` requires that `K: Debug` --> $DIR/missing-bound-in-derive-copy-impl.rs:11:14 | LL | pub loc: Vector2, | ^^^^^^^^^^ = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider restricting type parameter `K` | LL | pub struct AABB{ | +++++++ error[E0277]: `K` doesn't implement `Debug` --> $DIR/missing-bound-in-derive-copy-impl.rs:11:14 | LL | pub loc: Vector2, | ^^^^^^^^^^ `K` cannot be formatted using `{:?}` because it doesn't implement `Debug` | note: required by a bound in `Vector2` --> $DIR/missing-bound-in-derive-copy-impl.rs:4:23 | LL | pub struct Vector2{ | ^^^^^ required by this bound in `Vector2` help: consider restricting type parameter `K` | LL | pub struct AABB{ | +++++++++++++++++ error[E0277]: the trait bound `K: Copy` is not satisfied --> $DIR/missing-bound-in-derive-copy-impl.rs:11:14 | LL | pub loc: Vector2, | ^^^^^^^^^^ the trait `Copy` is not implemented for `K` | note: required by a bound in `Vector2` --> $DIR/missing-bound-in-derive-copy-impl.rs:4:31 | LL | pub struct Vector2{ | ^^^^ required by this bound in `Vector2` help: consider restricting type parameter `K` | LL | pub struct AABB{ | +++++++++++++++++++ error: aborting due to 3 previous errors Some errors have detailed explanations: E0204, E0277. For more information about an error, try `rustc --explain E0204`.