値の凍結
データを同じ名前のイミュータブルな変数に束縛しなおすと、データは_凍結_されます。_凍結_したデータは、イミュータブルな束縛がスコープ外になるまで変更できません。
fn main() {
let mut _mutable_integer = 7i32;
{
// イミュータブルな`_mutable_integer`でシャドーイングします。
let _mutable_integer = _mutable_integer;
// エラー!`_mutable_integer`はこのスコープでは凍結しています。
_mutable_integer = 50;
// FIXME ^ この行をコメントアウトしましょう
// `_mutable_integer`はスコープを抜けます。
}
// OK!`_mutable_integer`はこのスコープでは凍結していません。
_mutable_integer = 3;
}