mirror of https://github.com/rust-lang/rust
25 lines
912 B
Plaintext
25 lines
912 B
Plaintext
error[E0507]: cannot move out of a shared reference
|
|
--> $DIR/ref_pat_eat_one_layer_2024_fail2.rs:7:29
|
|
|
|
|
LL | if let Some(&Some(x)) = Some(&Some(&mut 0)) {
|
|
| - ^^^^^^^^^^^^^^^^^^^
|
|
| |
|
|
| data moved here
|
|
| move occurs because `x` has type `&mut u32`, which does not implement the `Copy` trait
|
|
|
|
|
help: consider borrowing the pattern binding
|
|
|
|
|
LL | if let Some(&Some(ref x)) = Some(&Some(&mut 0)) {
|
|
| +++
|
|
|
|
error[E0596]: cannot borrow data in a `&` reference as mutable
|
|
--> $DIR/ref_pat_eat_one_layer_2024_fail2.rs:12:10
|
|
|
|
|
LL | let &ref mut x = &0;
|
|
| ^^^^^^^^^ cannot borrow as mutable
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
Some errors have detailed explanations: E0507, E0596.
|
|
For more information about an error, try `rustc --explain E0507`.
|