• 冻结

    冻结

    当数据被不可变地借用时,它还会冻结freeze)。已冻结frozen)数据无法通过原始对象来修改,直到指向这些数据的所有引用离开作用域为止。

    1. fn main() {
    2. let mut _mutable_integer = 7i32;
    3. {
    4. // 借用 `_mutable_integer`
    5. let _large_integer = &_mutable_integer;
    6. // 报错!`_mutable_integer` 在本作用域被冻结
    7. _mutable_integer = 50;
    8. // 改正 ^ 注释掉此行
    9. // `_large_integer` 离开作用域
    10. }
    11. // 正常运行!`_mutable_integer` 在这作用域没有冻结
    12. _mutable_integer = 3;
    13. }