Code Fix

上級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

空欄を埋めて実行を通す

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

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

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

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

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