上級 › already borrowed: BorrowMutError パニックの原因と直し方 › パターン1
already borrowed: BorrowMutError パニックの原因と直し方
RefCellは借用規則を実行時にチェックする仕組みです。
1 use std::cell::RefCell; 2 fn main() { 3 let data = RefCell::new(5); 4 let b1 = data.borrow_mut(); 5 _________ ^ 6 let b2 = data.borrow_mut(); 7 println!("{}", b2); 8 }
thread 'main' panicked at main.rs:6:19:
already borrowed: BorrowMutError
空欄を埋めて実行を通す
b1が生きたまま2回目のborrow_mut()を呼ぶとパニックします。dropで先に借用を終了させる必要があります。
次の問題