| error[E0509]: cannot move out of type `S`, which implements the `Drop` trait |
| --> $DIR/borrowck-move-out-of-struct-with-dtor.rs:20:11 |
| | |
| LL | match (S {f:"foo".to_string()}) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of here |
| LL | //[mir]~^ ERROR [E0509] |
| LL | S {f:_s} => {} |
| | -- data moved here |
| | |
| note: move occurs because `_s` has type `std::string::String`, which does not implement the `Copy` trait |
| --> $DIR/borrowck-move-out-of-struct-with-dtor.rs:22:14 |
| | |
| LL | S {f:_s} => {} |
| | ^^ |
| |
| error[E0509]: cannot move out of type `S`, which implements the `Drop` trait |
| --> $DIR/borrowck-move-out-of-struct-with-dtor.rs:28:20 |
| | |
| LL | let S {f:_s} = S {f:"foo".to_string()}; |
| | -- ^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of here |
| | | |
| | data moved here |
| | |
| note: move occurs because `_s` has type `std::string::String`, which does not implement the `Copy` trait |
| --> $DIR/borrowck-move-out-of-struct-with-dtor.rs:28:14 |
| | |
| LL | let S {f:_s} = S {f:"foo".to_string()}; |
| | ^^ |
| |
| error[E0509]: cannot move out of type `S`, which implements the `Drop` trait |
| --> $DIR/borrowck-move-out-of-struct-with-dtor.rs:33:19 |
| | |
| LL | fn move_in_fn_arg(S {f:_s}: S) { |
| | ^^^^^--^ |
| | | | |
| | | data moved here |
| | cannot move out of here |
| | |
| note: move occurs because `_s` has type `std::string::String`, which does not implement the `Copy` trait |
| --> $DIR/borrowck-move-out-of-struct-with-dtor.rs:33:24 |
| | |
| LL | fn move_in_fn_arg(S {f:_s}: S) { |
| | ^^ |
| |
| error: aborting due to 3 previous errors |
| |
| For more information about this error, try `rustc --explain E0509`. |