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