我是铁 rust 新手,我不能解决这个简单的问题: 请考虑以下代码:
let mut a = vec![String::from("aa"), String::from("bb")];
a[0] += &*a[1];
Borry Checker理所当然地抱怨我在这里既有不可变的借词,也有可变的借词.它还暗示了我:
help: try adding a local storing this...
--> src\main.rs:61:15
|
61 | a[0] += &*a[1];
| ^^^^
help: ...and then using that local here
--> src\main.rs:61:5
|
61 | a[0] += &*a[1];
| ^^^^^^^^^^^^^^
我真的不明白那是什么意思.我真的需要克隆字符串才能执行如此简单的操作吗?(这将导致总共两个副本:进入临时的,然后回到a[0],而不是最佳的1个副本直接进入a[0])