Skip to content
TopicTracker
出典 HackerNews原文を表示
翻訳言語翻訳言語

Rust Is Not a Memory-Safe Language

Rustのメモリ安全性は過信されており、unsafeコード、既存CライブラリとのFFI、ロジックバグ、メモリリーク、コンパイラのバグなど、複数の要因により安全神話は崩れている。真のメモリ安全性を追求するなら、Rustの「安全性」を盲信するのではなく、その限界を正しく理解する必要がある。

背景メモ

- Rustは「メモリ安全な言語」として広く認知されているが、この主張はRustの標準ライブラリ(std)や主要なエコシステム・クレートにunsafeコード(生ポインタ操作など、コンパイラの保証を外れたコード)が多数含まれている現実を軽視しているとの指摘。 - 著者のDavid Tolnayは著名なRust開発者で、serde等の広く使われるクレートのメンテナ。彼が「Rustはメモリ安全ではない」と宣言したことはコミュニティ内で大きな波紋を呼んだ。 - 問題の核心は「Safe Rust」と「Unsafe Rust」の境界。ユーザーが書くSafe Rustコード自体は安全でも、依存関係のどこかにunsafeコードが潜んでいれば、結果としてメモリ破壊バグ(use-after-free等)が発生しうる。 - この議論は、Rustの安全性の定義(「言語自体の保証」vs「実際のエコシステム全体の安全性」)や、unsafeの使用基準、監査の現実的な限界といった、より広いソフトウェア工学上の問題に繋がっている。

関連記事