Rust by Example中文

14.3.2 Freezing

When data is immutably borrowed, it also freezes. Frozen data can't be modified via the original object until all references to it go out of scope:

fn main() { let mut _mutable_integer = 7i32; { // Borrow `_mutable_integer` let _large_integer = &_mutable_integer; // Error! `_mutable_integer` is frozen in this scope _mutable_integer = 50; // FIXME ^ Comment out this line // `_large_integer` goes out of scope } // Ok! `_mutable_integer` is not frozen in this scope _mutable_integer = 3; }