1月15日、Rust Blogで「Rust をセーフティクリティカルな環境で出荷するには何が必要ですか?(What does it take to ship Rust in safety-critical?)」と題した記事が公開された。この記事では、自動運転や医療機器といった極限の信頼性が求められる領域において、Rustが直面している理想と現実、そしてそれを乗り越えるための進化のロードマップについて詳しく紹介されている。

以下に、その内容を簡潔にまとめて紹介する。
Rustはもはや「期待の新人」ではない
かつてRustは、セーフティクリティカル(安全性至上)な分野において「検討に値する新星」という立ち位置であった。しかし、現在の状況は一変している。モバイルロボットや、集中治療室(ICU)で稼働する医療機器といった、一分の隙も許されない現場において、Rustは既に「実戦配備」され、出荷されている。
現場のエンジニアが語るRustの破壊力は凄まじい。
- 静的解析が不要: 従来、MISRA C(※1)等の規約遵守や複雑なスタック解析ツールで多大なコストをかけてチェックしていた項目のうち、実に約90%がRustコンパイル時のチェックのみで解決されている。
- 圧倒的なパフォーマンス: PythonからRustへリプレースしたコンポーネントにおいて、100倍の速度向上を達成した事例も報告されている。
これは単なる概念実証(PoC)ではなく、法規制をクリアし、厳格な監査を通過した上での「現実」だ。
(※1)MISRA C: 車載ソフトウェア向けに策定されたC言語のコーディング規約。未定義動作を避けるための厳しい制限が課される。
「クリティカルレベルの壁」という残酷な現実
しかし、Rustをより深く、より重要な制御層へと適用しようとすると、エンジニアは奇妙な「逆転現象」に直面することになる。これが現在のRustが抱える最大のジレンマだ。
- 外部ライブラリが使えない:
コンパイラが強力な保証をすればするほど、その安全性を公的に証明するための「エビデンス(証跡)」が必要になる。しかし、crates.io(※2)に存在する便利なライブラリ群は、最高レベルの安全性認証までは考慮されていない。結果として、「Rustの機能は最高だが、エコシステム(外部ライブラリ)は一切使えない」という孤立無援の状況に陥る。 - 「車輪の再発明」の強制:
航空宇宙分野などでは「1行のコードまですべて自分たちで所有・管理しなければならない」という強い文化がある。最新のRustを使いたい一方で、実績のないサードパーティ製クレートは排除され、結局は抽象化レイヤーを自作して将来の入れ替えに備えるという、泥臭い「ハック」が必要となっている。
(※2)crates.io: Rust公式のパッケージレジストリ。JavaScriptのnpmやPythonのPyPIに相当する。
Rustの未来はどう変わるか:産業界とコミュニティの「共創」
この課題を突破するため、Rustを取り巻く環境は今後、単なる「言語の進化」を超えた、より組織的なフェーズへと移行していくことが予想される。
- 「産業界専用」のRust仕様の標準化:
Ferrocene(フェロセン)(※3)の成功に見られるように、コンパイラの動作を厳密に定義する「言語仕様」を産業界が主導して整備する動きが加速する。これにより、コンパイラそのもののバグのリスクを最小化できる。 - 長期サポート(LTS)と依存関係の安定化:
「最新コンパイラでしか動かないライブラリ」が開発現場を混乱させる問題を解決するため、エコシステム全体でLTSリリースへの準拠を促す新しい慣習が定着していくだろう。 - 安全性を「証明可能」にするランタイムの開発:
async(非同期処理)(※4)などのモダンな機能を、ISO 26262等の規格に適合させた状態で提供するための、認証済みランタイムの要件定義が進む。 - 既存資産(C/C++)との「安全な境界線」の自動化:
すべてをRustで書き直すのではなく、既存のC/C++資産とRustを混在させた際の整合性を、コンパイラレベルで監査・チェックするツールチェーンの強化が図られる。
(※3)Ferrocene: 産業安全規格(ISO 26262等)に適合するよう、「認定」を受けたRustコンパイラのツールチェーン。
(※4)async/await: 非同期処理を直感的に記述するための言語機能。組み込み領域では複雑な並行処理を安全に記述するために期待されている。
Rustは今、「言語の力」で安全を担保するフェーズから、「認証やプロセスまでを含めたエコシステム全体」をセーフティクリティカルに適応させるフェーズへと進化しようとしている。
詳細は「What does it take to ship Rust in safety-critical?」を参照していただきたい。