32 lines
1006 B
Plaintext
32 lines
1006 B
Plaintext
error[E0384]: cannot assign twice to immutable variable `x`
|
|
--> $DIR/mut-pattern-internal-mutability.rs:5:5
|
|
|
|
|
LL | let &mut x = foo;
|
|
| - first assignment to `x`
|
|
LL | x += 1;
|
|
| ^^^^^^ cannot assign twice to immutable variable
|
|
|
|
|
help: consider making this binding mutable
|
|
|
|
|
LL | let &mut mut x = foo;
|
|
| ~~~~~
|
|
help: to modify the original value, take a borrow instead
|
|
|
|
|
LL | let &mut ref mut x = foo;
|
|
| ~~~~~~~~~
|
|
|
|
error[E0506]: cannot assign to `*foo` because it is borrowed
|
|
--> $DIR/mut-pattern-internal-mutability.rs:13:5
|
|
|
|
|
LL | let &mut ref x = foo;
|
|
| ----- `*foo` is borrowed here
|
|
LL | *foo += 1;
|
|
| ^^^^^^^^^ `*foo` is assigned to here but it was already borrowed
|
|
LL | drop(x);
|
|
| - borrow later used here
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
Some errors have detailed explanations: E0384, E0506.
|
|
For more information about an error, try `rustc --explain E0384`.
|