中級 › E0502: cannot borrow as mutable because it is also borrowed as immutable › パターン1
E0502: cannot borrow as mutable because it is also borrowed as immutable
不変参照が生きている(後で使われる)間に、同じ変数を可変で借用しようとするとE0502エラーになります。
1 fn main() { 2 let mut v = vec![1, 2, 3]; 3 let first = &v[0]; 4 ____________ ^ 5 println!("{}", first); 6 }
error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable
空欄を埋めて実行を通す
firstというvへの不変参照がまだ使われる予定がある間は、vを変更する可変借用(push)は許されません。
次の問題