第23章へようこそ。
今日のテーマは「RefCellと内部可変性」です。
前章で扱ったRcは、複数の所有者が同じヒープ上の値を共有できる型でした。
しかしRcから取り出せるのは中身への不変参照だけで、可変参照は得られない。
これは「可変参照は同時に1つだけ」という借用規則と整合させるための設計でした。
それでも実用上、共有している値を変更したい状況は頻繁にあります。
ツリー構造で複数のノードが共通の状態を更新する。あるオブジェクトの内部キャッシュを書き換える。
こういう状況のために用意されているのが、内部可変性という枠組みです。
今日はRefCellを通じて、内部可変性の構造、実行時の借用検査、パニックの条件、Rcとの組み合わせを扱います。