error[E0384]: cannot assign twice to immutable variable `x` --> $DIR/mut-pattern-internal-mutability.rs:8:5 | LL | let &mut x = foo; | - | | | first assignment to `x` | help: make this binding mutable: `mut x` LL | x += 1; | ^^^^^^ cannot assign twice to immutable variable error[E0506]: cannot assign to `*foo` because it is borrowed --> $DIR/mut-pattern-internal-mutability.rs:17:5 | LL | let &mut ref x = foo; | ----- borrow of `*foo` occurs here LL | *foo += 1; | ^^^^^^^^^ assignment to borrowed `*foo` occurs here LL | 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`.