error[E0509]: cannot move out of type `A`, which implements the `Drop` trait --> $DIR/functional-struct-update-noncopyable.rs:12:14 | LL | let _b = A { y: Arc::new(3), ..a }; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | | | cannot move out of here | move occurs because `a.x` has type `Arc`, which does not implement the `Copy` trait error: aborting due to previous error For more information about this error, try `rustc --explain E0509`.