初級 › E0596: cannot borrow as mutable の原因と直し方 › パターン2
E0596: cannot borrow as mutable の原因と直し方
mutを付けずに宣言した変数を、&mutで可変参照として渡そうとするとE0596エラーになります。
1 fn double_it(n: &mut i32) { 2 *n *= 2; 3 } 4 5 fn main() { 6 let ______value = 10; ^ 7 double_it(&mut value); 8 println!("{}", value); 9 }
error[E0596]: cannot borrow `value` as mutable, as it is not declared as mutable
空欄を埋めて実行を通す
呼び出し側で&mutを付けても、束縛自体がmutでなければ可変借用は許されません。
次の問題