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