error[E0594]: cannot assign to `*x` which is behind a `&` reference --> $DIR/issue-57989.rs:7:5 | LL | fn f(x: &i32) { | ---- help: consider changing this to be a mutable reference: `&mut i32` LL | let g = &x; LL | *x = 0; | ^^^^^^ `x` is a `&` reference, so the data it refers to cannot be written error[E0506]: cannot assign to `*x` because it is borrowed --> $DIR/issue-57989.rs:7:5 | LL | let g = &x; | -- borrow of `*x` occurs here LL | *x = 0; | ^^^^^^ assignment to borrowed `*x` occurs here LL | LL | g; | - borrow later used here error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0506`.