error[E0509]: cannot move out of type `X`, which implements the `Drop` trait --> $DIR/disallowed-deconstructing-destructing-struct-let.rs:22:22 | LL | let X { x: y } = x; //~ ERROR cannot move out of type | - ^ cannot move out of here | | | data moved here | note: move occurs because `y` has type `std::string::String`, which does not implement the `Copy` trait --> $DIR/disallowed-deconstructing-destructing-struct-let.rs:22:16 | LL | let X { x: y } = x; //~ ERROR cannot move out of type | ^ error: aborting due to previous error For more information about this error, try `rustc --explain E0509`.