unsafeキーワードは責任を移す
| メモリ安全か | メモリ安全性の責任 | |
|---|---|---|
| Safe Rust | はい | コンパイラ |
| Unsafe Rust | はい | プログラマー |
メモリ安全性に責任を持つのは誰ですか?
- Safe Rust → コンパイラ
- Unsafe Rust → プログラマー
“safe Rustを書いている間は、メモリ安全性の問題を引き起こすことはできません。コンパイラ は、誤りのあるプログラムがビルドされないことを保証します。”
“unsafeキーワードは、メモリ安全性を維持する責任をコンパイラから プログラマーへ移します。これは、満たさなければならない前提条件があることを 示しています。
“その責任を果たすために、プログラマーは、その前提条件が何であるかを理解し、 自分のコードが常にそれを満たすことを保証しなければなりません。
“このコース全体を通して、この状況を表すために 安全性の前提条件 という用語を使います。”