Code Fix

上級already borrowed: BorrowMutError パニックの原因と直し方 › パターン2

already borrowed: BorrowMutError パニックの原因と直し方

RefCellは借用規則を実行時にチェックする仕組みです。

 1  use std::cell::RefCell;
 2  fn main() {
 3      let counter = RefCell::new(0);
 4      let c1 = counter.borrow_mut();
 5      _________
            ^
 6      let c2 = counter.borrow_mut();
 7      println!("{}", c2);
 8  }
thread 'main' panicked at main.rs:6:22: already borrowed: BorrowMutError

空欄を埋めて実行を通す

広告
広告スロット(未設定)

already borrowed: BorrowMutError パニックの原因と直し方

borrow_mut()で可変借用した値がまだ生きている間に、もう一度borrow_mut()やborrow()を呼ぶとパニックします。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)