我知道你不允许在Rust中同时创建两个对象的可变引用.我不完全理解为什么以下代码有效:
fn main() {
let mut string = String::from("test");
let mutable_reference: &mut String = &mut string;
mutable_reference.push_str(" test");
// as I understand it, this creates a new mutable reference (2nd?)
test(&mut *mutable_reference);
println!("{}", mutable_reference);
}
fn test(s: &mut String) {
s.push_str(" test");
}
Run Code Online (Sandbox Code Playgroud) rust ×1