mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-31 14:31:55 +00:00
52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
error[E0507]: cannot move out of a shared reference
|
|
--> $DIR/by-move-pattern-binding.rs:14:11
|
|
|
|
|
LL | match &s.x {
|
|
| ^^^^
|
|
LL | &E::Foo => {}
|
|
LL | &E::Bar(identifier) => f(identifier.clone())
|
|
| ----------
|
|
| |
|
|
| 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:31
|
|
|
|
|
LL | let &E::Bar(identifier) = &s.x else {
|
|
| ---------- ^^^^
|
|
| |
|
|
| data moved here
|
|
| move occurs because `identifier` has type `String`, which does not implement the `Copy` trait
|
|
|
|
|
help: consider removing the borrow
|
|
|
|
|
LL - let &E::Bar(identifier) = &s.x else {
|
|
LL + let E::Bar(identifier) = &s.x else {
|
|
|
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0507`.
|