| 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`. |