2018-08-08 07:28:26 -05:00
|
|
|
error[E0384]: cannot assign twice to immutable variable `x`
|
|
|
|
--> $DIR/mut-pattern-internal-mutability.rs:18:5
|
|
|
|
|
|
|
|
|
LL | let &mut x = foo;
|
|
|
|
| -
|
|
|
|
| |
|
|
|
|
| first assignment to `x`
|
2018-09-12 13:13:40 -05:00
|
|
|
| help: make this binding mutable: `mut x`
|
2018-08-08 07:28:26 -05:00
|
|
|
LL | x += 1; //[ast]~ ERROR cannot assign twice to immutable variable
|
|
|
|
| ^^^^^^ cannot assign twice to immutable variable
|
|
|
|
|
|
|
|
error[E0506]: cannot assign to `*foo` because it is borrowed
|
|
|
|
--> $DIR/mut-pattern-internal-mutability.rs:27:5
|
|
|
|
|
|
|
|
|
LL | let &mut ref x = foo;
|
|
|
|
| ----- borrow of `*foo` occurs here
|
|
|
|
LL | *foo += 1; //[ast]~ ERROR cannot assign to `*foo` because it is borrowed
|
|
|
|
| ^^^^^^^^^ assignment to borrowed `*foo` occurs here
|
|
|
|
LL | //[mir]~^ ERROR cannot assign to `*foo` because it is borrowed
|
|
|
|
LL | drop(x);
|
|
|
|
| - borrow later used here
|
|
|
|
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
|
|
|
|
Some errors occurred: E0384, E0506.
|
|
|
|
For more information about an error, try `rustc --explain E0384`.
|