error[E0382]: assign of moved value: `t` --> $DIR/borrowck-partial-reinit-1.rs:27:5 | LL | let mut t = Test2 { b: None }; | ----- move occurs because `t` has type `Test2`, which does not implement the `Copy` trait LL | let u = Test; LL | drop(t); | - value moved here LL | t.b = Some(u); | ^^^ value assigned here after move error[E0382]: assign of moved value: `t` --> $DIR/borrowck-partial-reinit-1.rs:33:5 | LL | let mut t = Test3(None); | ----- move occurs because `t` has type `Test3`, which does not implement the `Copy` trait LL | let u = Test; LL | drop(t); | - value moved here LL | t.0 = Some(u); | ^^^ value assigned here after move error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0382`.