编者注:此代码来自 Rust 1.0 之前的版本,在语法或语义上不是有效的 Rust 1.0 代码。
因此,将共享框指针的范围划分为学习练习。纯学术练习。
#[feature(managed_boxes)];
struct Monster {
legs: int
}
fn main() {
let mut steve = @Monster{ legs: 2 };
steve.legs = 8;
}
收到此编译器错误,我有点惊讶:
shared_box.rs:10:5: 10:15 error: cannot assign to immutable field
shared_box.rs:10 steve.legs = 8;
是什么赋予了?
如果我切换到 Owned Box 指针,错误就会消失。这是对托管指针访问的某种限制吗?