]> git.lizzy.rs Git - rust.git/blob - tests/ui/union/union-move.thirunsafeck.stderr
Rollup merge of #106644 - alexcrichton:update-wasi-toolchain, r=cuviper
[rust.git] / tests / ui / union / union-move.thirunsafeck.stderr
1 error[E0382]: use of moved value: `x`
2   --> $DIR/union-move.rs:29:18
3    |
4 LL | fn test1(x: U1) {
5    |          - move occurs because `x` has type `U1`, which does not implement the `Copy` trait
6 ...
7 LL |         move_out(x.f1_nocopy);
8    |                  ----------- value moved here
9 LL |         move_out(x.f2_nocopy);
10    |                  ^^^^^^^^^^^ value used here after move
11    |
12 note: consider changing this parameter type in function `move_out` to borrow instead if owning the value isn't necessary
13   --> $DIR/union-move.rs:10:19
14    |
15 LL | fn move_out<T>(x: T) {}
16    |    --------       ^ this parameter takes ownership of the value
17    |    |
18    |    in this function
19
20 error[E0382]: use of moved value: `x`
21   --> $DIR/union-move.rs:45:18
22    |
23 LL | fn test3(x: U1) {
24    |          - move occurs because `x` has type `U1`, which does not implement the `Copy` trait
25 ...
26 LL |         move_out(x.f2_nocopy);
27    |                  ----------- value moved here
28 LL |         move_out(x.f3_copy);
29    |                  ^^^^^^^^^ value used here after move
30    |
31 note: consider changing this parameter type in function `move_out` to borrow instead if owning the value isn't necessary
32   --> $DIR/union-move.rs:10:19
33    |
34 LL | fn move_out<T>(x: T) {}
35    |    --------       ^ this parameter takes ownership of the value
36    |    |
37    |    in this function
38
39 error[E0509]: cannot move out of type `U2`, which implements the `Drop` trait
40   --> $DIR/union-move.rs:52:18
41    |
42 LL |         move_out(x.f1_nocopy);
43    |                  ^^^^^^^^^^^
44    |                  |
45    |                  cannot move out of here
46    |                  move occurs because `x.f1_nocopy` has type `ManuallyDrop<RefCell<i32>>`, which does not implement the `Copy` trait
47
48 error: aborting due to 3 previous errors
49
50 Some errors have detailed explanations: E0382, E0509.
51 For more information about an error, try `rustc --explain E0382`.