在下面的代码中,我本来期望编译器会在hello
函数的第二次调用中发出关于 使用已移动的值: xref 的警告,因为可变引用不实现Copy
。但是编译器没有引发任何此类错误。我在这里漏掉了什么?
fn main() {
let mut x: String = "Developer".to_string();
let x_ref: &mut String = &mut x;
hello(x_ref);
hello(x_ref);
}
fn hello(a: &mut String) {
println!("Hello {}", a);
}