Замороження
Коли дані зв’язані тим самим ім’ям незмінно, вони також заморожуються. Заморожені дані не можна змінювати, доки незмінне зв’язування не вийде з області видимості:
fn main() {
let mut _mutable_integer = 7i32;
{
// Shadowing by immutable `_mutable_integer`
let _mutable_integer = _mutable_integer;
// Error! `_mutable_integer` is frozen in this scope
_mutable_integer = 50;
// FIXME ^ Comment out this line
// `_mutable_integer` goes out of scope
}
// Ok! `_mutable_integer` is not frozen in this scope
_mutable_integer = 3;
}