Valenの新しいborrow checkerは関数を逆方向に走査する
A new way to think about borrow checking (in reverse)
Valenのborrow checkerは、関数の最後の文から先頭へと逆向きに走査してメモリ安全性を検査する。変数の使用を記録し、変更時に無効化されないかを確認し、宣言で記録を外す仕組みだ。筆者はこの逆走査がループ処理や「最後の使用」の把握、速度面で有利だと説明しつつ、前例がない手法だけにアルゴリズムへのフィードバックを求めている。
私の知る限り、安全性チェックを逆方向に行うborrow checkerはこれだけだ。