1. 聞き流しプログラミング言語学習
  2. Rust 054 UnsafeCell - 内部可..
Rust 054 UnsafeCell - 内部可変性の底
2026-07-29 13:01

Rust 054 UnsafeCell - 内部可変性の底

第54章へようこそ。


今日のテーマは「UnsafeCell」です。


第23章で、内部可変性を見ました。

外側の値に不変参照しか持っていないのに、その内側の値を変更できる仕組み。

RefCellは、借用の検査を実行時に行うことで、それを安全な操作として提供していた。


だが、1つ確かめていないことがある。

借用規則は、不変参照の先を書き換えることを許さない。

そしてRefCell自身も、Rustで書かれた型だ。

同じ規則の下にあるはずのRustのコードが、不変参照の先を書き換えるという動作を、どこかで組み立てていることになる。


第52章で、安全な抽象の内側にはunsafeがあると見ました。

第53章では、その内側で使われる生ポインタを見た。

今日はその2つが実際に働いている場所を、内部可変性で確かめます。

Cell、RefCell、ミューテックス、アトミック型。

これらすべての内側に、たった1つの型がある。

それがUnsafeCellです。


今日扱うのは、不変参照が支えている前提、UnsafeCellがその前提をどう外すのか、安全な型がその上にどう立っているのか、そしてスレッドの境界で何が起きるのか、です。

感想

まだ感想はありません。最初の1件を書きましょう!

13:01

コメント

スクロール