| error[E0599]: the method `clone` exists for struct `Foo<NonCopy>`, but its trait bounds were not satisfied |
| --> $DIR/deriving-with-repr-packed-2.rs:18:11 |
| | |
| LL | pub struct Foo<T>(T, T, T); |
| | ----------------- method `clone` not found for this struct because it doesn't satisfy `Foo<NonCopy>: Clone` |
| LL | |
| LL | struct NonCopy; |
| | -------------- doesn't satisfy `NonCopy: Clone` or `NonCopy: Copy` |
| ... |
| LL | _ = x.clone(); |
| | ^^^^^ method cannot be called on `Foo<NonCopy>` due to unsatisfied trait bounds |
| | |
| note: there's an earlier shadowed binding `x` of type `Foo<u32>` that has method `clone` available |
| --> $DIR/deriving-with-repr-packed-2.rs:13:9 |
| | |
| LL | let x: Foo<u32> = Foo(1, 2, 3); |
| | ^ `x` of type `Foo<u32>` that has method `clone` defined earlier here |
| ... |
| LL | let x: Foo<NonCopy> = Foo(NonCopy, NonCopy, NonCopy); |
| | - earlier `x` shadowed here with type `Foo<NonCopy>` |
| note: the following trait bounds were not satisfied: |
| `NonCopy: Clone` |
| `NonCopy: Copy` |
| --> $DIR/deriving-with-repr-packed-2.rs:5:16 |
| | |
| LL | #[derive(Copy, Clone, Default, PartialEq, Eq)] |
| | ^^^^^ unsatisfied trait bound introduced in this `derive` macro |
| help: consider annotating `NonCopy` with `#[derive(Clone, Copy)]` |
| | |
| LL + #[derive(Clone, Copy)] |
| LL | struct NonCopy; |
| | |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0599`. |