about summary refs log tree commit diff
path: root/tests/ui/borrowck/borrowck-partial-reinit-2.stderr
blob: dde70eb444eb66355bc066e681ba905a5bf2fe70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
error[E0382]: assign of moved value: `t`
  --> $DIR/borrowck-partial-reinit-2.rs:15:5
   |
LL |     let mut t = Test { a: 1, b: None};
   |         ----- move occurs because `t` has type `Test`, which does not implement the `Copy` trait
LL |     let mut u = Test { a: 2, b: Some(Box::new(t))};
   |                                               - value moved here
LL |     t.b = Some(Box::new(u));
   |     ^^^ value assigned here after move
   |
note: if `Test` implemented `Clone`, you could clone the value
  --> $DIR/borrowck-partial-reinit-2.rs:1:1
   |
LL | struct Test {
   | ^^^^^^^^^^^ consider implementing `Clone` for this type
...
LL |     let mut u = Test { a: 2, b: Some(Box::new(t))};
   |                                               - you could clone this value

error: aborting due to 1 previous error

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