summaryrefslogtreecommitdiffstats
path: root/tests/ui/union/union-derive-clone.mirunsafeck.stderr
blob: 4d23d230fa3f6b8e1c8c9c84e9682c31b35fa21a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
error[E0277]: the trait bound `U1: Copy` is not satisfied
  --> $DIR/union-derive-clone.rs:6:10
   |
LL | #[derive(Clone)]
   |          ^^^^^ the trait `Copy` is not implemented for `U1`
   |
note: required by a bound in `AssertParamIsCopy`
  --> $SRC_DIR/core/src/clone.rs:LL:COL
   = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider annotating `U1` with `#[derive(Copy)]`
   |
LL + #[derive(Copy)]
LL | union U1 {
   |

error[E0599]: the method `clone` exists for union `U5<CloneNoCopy>`, but its trait bounds were not satisfied
  --> $DIR/union-derive-clone.rs:38:15
   |
LL | union U5<T> {
   | -----------
   | |
   | method `clone` not found for this union
   | doesn't satisfy `U5<CloneNoCopy>: Clone`
...
LL | struct CloneNoCopy;
   | ------------------ doesn't satisfy `CloneNoCopy: Copy`
...
LL |     let w = u.clone();
   |               ^^^^^ method cannot be called on `U5<CloneNoCopy>` due to unsatisfied trait bounds
   |
note: trait bound `CloneNoCopy: Copy` was not satisfied
  --> $DIR/union-derive-clone.rs:28:10
   |
LL | #[derive(Clone, Copy)]
   |          ^^^^^ unsatisfied trait bound introduced in this `derive` macro
help: consider annotating `CloneNoCopy` with `#[derive(Clone, Copy)]`
   |
LL + #[derive(Clone, Copy)]
LL | struct CloneNoCopy;
   |

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.