| error[E0509]: cannot move out of type `S`, which implements the `Drop` trait |
| --> $DIR/borrowck-move-out-of-tuple-struct-with-dtor.rs:9:11 |
| | |
| LL | match S("foo".to_string()) { |
| | ^^^^^^^^^^^^^^^^^^^^ cannot move out of here |
| LL | |
| LL | S(_s) => {} |
| | -- |
| | | |
| | data moved here |
| | move occurs because `_s` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider borrowing the pattern binding |
| | |
| LL | S(ref _s) => {} |
| | +++ |
| |
| error[E0509]: cannot move out of type `S`, which implements the `Drop` trait |
| --> $DIR/borrowck-move-out-of-tuple-struct-with-dtor.rs:16:17 |
| | |
| LL | let S(_s) = S("foo".to_string()); |
| | -- ^^^^^^^^^^^^^^^^^^^^ cannot move out of here |
| | | |
| | data moved here |
| | move occurs because `_s` has type `String`, which does not implement the `Copy` trait |
| | |
| help: consider borrowing the pattern binding |
| | |
| LL | let S(ref _s) = S("foo".to_string()); |
| | +++ |
| |
| error[E0509]: cannot move out of type `S`, which implements the `Drop` trait |
| --> $DIR/borrowck-move-out-of-tuple-struct-with-dtor.rs:20:19 |
| | |
| LL | fn move_in_fn_arg(S(_s): S) { |
| | ^^--^ |
| | | | |
| | | data moved here |
| | | move occurs because `_s` has type `String`, which does not implement the `Copy` trait |
| | cannot move out of here |
| | |
| help: consider borrowing the pattern binding |
| | |
| LL | fn move_in_fn_arg(S(ref _s): S) { |
| | +++ |
| |
| error: aborting due to 3 previous errors |
| |
| For more information about this error, try `rustc --explain E0509`. |