2019-05-05 06:02:32 -05:00
|
|
|
error[E0507]: cannot move out of a shared reference
|
2019-04-22 02:40:08 -05:00
|
|
|
--> $DIR/by-move-pattern-binding.rs:14:11
|
2018-08-08 07:28:26 -05:00
|
|
|
|
|
2019-04-22 02:40:08 -05:00
|
|
|
LL | match &s.x {
|
2019-05-05 06:02:32 -05:00
|
|
|
| ^^^^
|
2019-04-22 02:40:08 -05:00
|
|
|
LL | &E::Foo => {}
|
2019-03-09 06:03:44 -06:00
|
|
|
LL | &E::Bar(identifier) => f(identifier.clone())
|
2022-12-08 11:02:54 -06:00
|
|
|
| ----------
|
|
|
|
| |
|
|
|
|
| data moved here
|
|
|
|
| move occurs because `identifier` has type `String`, which does not implement the `Copy` trait
|
|
|
|
|
|
|
|
|
help: consider removing the borrow
|
|
|
|
|
|
|
|
|
LL - &E::Bar(identifier) => f(identifier.clone())
|
|
|
|
LL + E::Bar(identifier) => f(identifier.clone())
|
|
|
|
|
|
|
|
|
|
|
|
|
error[E0507]: cannot move out of a shared reference
|
|
|
|
--> $DIR/by-move-pattern-binding.rs:22:34
|
|
|
|
|
|
|
|
|
LL | if let &E::Bar(identifier) = &s.x {
|
|
|
|
| ---------- ^^^^
|
|
|
|
| |
|
|
|
|
| data moved here
|
|
|
|
| move occurs because `identifier` has type `String`, which does not implement the `Copy` trait
|
|
|
|
|
|
|
|
|
help: consider removing the borrow
|
|
|
|
|
|
|
|
|
LL - if let &E::Bar(identifier) = &s.x {
|
|
|
|
LL + if let E::Bar(identifier) = &s.x {
|
|
|
|
|
|
|
|
|
|
|
|
|
error[E0507]: cannot move out of a shared reference
|
|
|
|
--> $DIR/by-move-pattern-binding.rs:25:17
|
|
|
|
|
|
|
|
|
LL | let &E::Bar(identifier) = &s.x else {
|
|
|
|
| ^^^^^^^^^^ move occurs because value has type `String`, which does not implement the `Copy` trait
|
|
|
|
|
|
|
|
|
help: consider borrowing here
|
|
|
|
|
|
|
|
|
LL | let &E::Bar(&identifier) = &s.x else {
|
|
|
|
| +
|
2018-08-08 07:28:26 -05:00
|
|
|
|
2022-12-08 11:02:54 -06:00
|
|
|
error: aborting due to 3 previous errors
|
2018-08-08 07:28:26 -05:00
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0507`.
|