// Test for ICE from issue 57989

fn f(x: &i32) {
    let g = &x;
    *x = 0;     //~ ERROR cannot assign to `*x` which is behind a `&` reference
                //~| ERROR cannot assign to `*x` because it is borrowed
    g;
}

fn main() {}
