Borrow Checker
Rust のボローチェッカーは参照の規則をコンパイル時に検証する。不変参照と可変参照は共存できず、可変参照は一意でなければならない。
目的
データ競合とダングリング参照をコンパイル時に排除する。Rust のメモリ安全性の中核である。
メカニズム
規則は、1) 任意の個数の不変参照、または 2) 1 個の可変参照のいずれかで、両方を同時には許さない。参照がデータの寿命を超えて存続してはならない。違反は実行時エラーではなくコンパイル失敗となる。NLL(非字句的ライフタイム)がこの制限を緩和する。
ユースケース
- Rust プログラミング
- メモリ安全性
- コンカレンシーの安全性