unsafe キーワードが存在する理由

  • Rust は安全性を保証します
  • しかし、コンパイラにできることには限界があります
  • unsafe キーワードにより、プログラマーは Rust の ルールに対する責任を負うことができます

「Rust の根本的な目標の 1 つは、メモリ安全性を確保することです。」

「しかし、限界があります。安全性に関する考慮事項の中には、プログラミング言語では表現できないものが あります。たとえ表現できたとしても、Rust コンパイラが制御できることには 限界があります。」

unsafe キーワードは、Rust のルールを守る責任を コンパイラからプログラマーへ移します。」

unsafe キーワードを目にしたとき、それは責任が コンパイラからプログラマーへ移ることを意味します。