| ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of here
LL |
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:9:14
- |
-LL | S {f:_s} => {}
- | ^^
+ | --
+ | |
+ | data moved here
+ | move occurs because `_s` has type `std::string::String`, which does not implement the `Copy` trait
error[E0509]: cannot move out of type `S`, which implements the `Drop` trait
--> $DIR/borrowck-move-out-of-struct-with-dtor.rs:14:20
| -- ^^^^^^^^^^^^^^^^^^^^^^^ 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:14:14
- |
-LL | let S {f:_s} = S {f:"foo".to_string()};
- | ^^
+ | move occurs because `_s` has type `std::string::String`, which does not implement the `Copy` trait
error[E0509]: cannot move out of type `S`, which implements the `Drop` trait
--> $DIR/borrowck-move-out-of-struct-with-dtor.rs:18:19
| ^^^^^--^
| | |
| | data moved here
+ | | move occurs because `_s` has type `std::string::String`, which does not implement the `Copy` trait
| 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:18:24
- |
-LL | fn move_in_fn_arg(S {f:_s}: S) {
- | ^^
error: aborting due to 3 previous errors