fn main() {
let mut m = 12;
{
let n = &mut m;
*n = 13;
{
let k = n;
*k = 20;
println!("{}", k);
} // k's scope ends here, right?
println!("{}", n);
}
println!("{}", m);
}
Run Code Online (Sandbox Code Playgroud)
这是我运行代码时得到的:
src/main.rs:11:18: 11:19 error: use of moved value: `n` [E0382]
src/main.rs:11 println!("{}", n);
^
Run Code Online (Sandbox Code Playgroud)
但变量k的范围尚未结束吗?为什么不将所有权归还给变量n?
rust ×1