我從借用檢查器得到一個Rust編譯錯誤,不知道如何解決它。
下面的代碼很簡單,在C++中類似的代碼沒有問題。如何用這個簡單的代碼滿足Rust借用檢查器?
fn main() {
let mut nums = vec![1, 2, 3];
if let Some(x) = nums.last() {
nums.push(*x);
}
}
以下是錯誤:
message: 'cannot borrow `nums` as mutable because it is also borrowed as immutable (4, 9)'
不知道鏽,它可能不喜歡做NUMS .last()在與nums.push()相同的語句中作爲nums.last()的值在將新條目推入num時可能會更改。 – jwenting