error[E0382]: use of moved value: `u` --> $DIR/borrowck-union-move-assign.rs:17:21 | LL | let mut u = U { a: ManuallyDrop::new(A) }; | ----- move occurs because `u` has type `U`, which does not implement the `Copy` trait LL | let a = u.a; | --- value moved here LL | let a = u.a; | ^^^ value used here after move error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.