25 lines
970 B
Plaintext
25 lines
970 B
Plaintext
|
error[E0594]: cannot assign to `*x` which is behind a `&` reference
|
||
|
--> $DIR/issue-57989.rs:7:5
|
||
|
|
|
||
|
LL | fn f(x: &i32) {
|
||
|
| ---- help: consider changing this to be a mutable reference: `&mut i32`
|
||
|
LL | let g = &x;
|
||
|
LL | *x = 0; //~ ERROR cannot assign to `*x` which is behind a `&` reference
|
||
|
| ^^^^^^ `x` is a `&` reference, so the data it refers to cannot be written
|
||
|
|
||
|
error[E0506]: cannot assign to `*x` because it is borrowed
|
||
|
--> $DIR/issue-57989.rs:7:5
|
||
|
|
|
||
|
LL | let g = &x;
|
||
|
| -- borrow of `*x` occurs here
|
||
|
LL | *x = 0; //~ ERROR cannot assign to `*x` which is behind a `&` reference
|
||
|
| ^^^^^^ assignment to borrowed `*x` occurs here
|
||
|
LL | //~| ERROR cannot assign to `*x` because it is borrowed
|
||
|
LL | g;
|
||
|
| - borrow later used here
|
||
|
|
||
|
error: aborting due to 2 previous errors
|
||
|
|
||
|
Some errors occurred: E0506, E0594.
|
||
|
For more information about an error, try `rustc --explain E0506`.
|