rust/tests/ui/mut/mut-pattern-internal-mutabi...

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`.