unsafeキーワードは責任を移す

メモリ安全かメモリ安全性の責任
Safe Rustはいコンパイラ
Unsafe Rustはいプログラマー

メモリ安全性に責任を持つのは誰ですか?

  • Safe Rust → コンパイラ
  • Unsafe Rust → プログラマー

“safe Rustを書いている間は、メモリ安全性の問題を引き起こすことはできません。コンパイラ は、誤りのあるプログラムがビルドされないことを保証します。”

unsafeキーワードは、メモリ安全性を維持する責任をコンパイラから プログラマーへ移します。これは、満たさなければならない前提条件があることを 示しています。

“その責任を果たすために、プログラマーは、その前提条件が何であるかを理解し、 自分のコードが常にそれを満たすことを保証しなければなりません。

“このコース全体を通して、この状況を表すために 安全性の前提条件 という用語を使います。”