中級 › E0502: cannot borrow as mutable because it is also borrowed as immutable › パターン2
E0502: cannot borrow as mutable because it is also borrowed as immutable
不変参照が生きている(後で使われる)間に、同じ変数を可変で借用しようとするとE0502エラーになります。
1 fn main() { 2 let mut nums = vec![10, 20, 30]; 3 let head = &nums[0]; 4 _______________ ^ 5 println!("{}", head); 6 }
error[E0502]: cannot borrow `nums` as mutable because it is also borrowed as immutable
空欄を埋めて実行を通す
不変参照headが生きている間にnumsをpushで変更しようとすると、借用チェッカーがコンパイル時に止めます。
次の問題