在以下代码中,MyStruct { s: 5u32 }
的所有权已移至y
let y = x;
,但为什么x.s = 6
仍有效?
struct MyStruct {
s: u32,
}
fn main() {
let mut x = MyStruct { s: 5u32 };
let y = x;
x.s = 6; //why this line does not cause an error?
println!("{}", y.s);
}
答案 0 :(得分:0)
我很确定这是一个错误,因为在最后添加行println!("{}", x.s)
会导致编译器抱怨。