Mutability

https://doc.rust-lang.org/book/mutability.html

C言語constと逆の働きと捉えると考えやすいかもしれない。

fn main() {
    let mut x = 5;
    let mut x2 = 7;
    let y = &mut x;
    *y += 1;
    // y = &mut x2; // できない
    println!("{}", *y);

    let mut x = 5; // これを挟まないと、yが 上で宣言している x を参照しているため(?)上手くいかない
    let mut z = &mut x;
    *z += 1;
    z = &mut x2; // できる
    println!("{}", *z);
}