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