FractalFir、Rust コンパイラ rustc を C 言語へ変換するツールチェーン crustc を公開
rustc 1.98.0-nightly を 4,600 万行の C コードへ変換し、GCC でビルド可能な Rust コンパイラとして再現した。
リリース: 2026-07-02 · 読了 3 分記事の要約
1. 核心(What)
- rustc 1.98.0-nightly (c712ea946) を 4,600 万行の C ソースコードに変換。
- GCC と make を使用してビルド可能な Rust コンパイラとして動作。
- 標準ライブラリ(core, alloc, std)のコンパイルに対応。
- Rust から C へのコンパイラバックエンドである cilly ツールチェーンによる実装。
2. 影響(Why)
- レガシー・特殊環境への Rust 導入: LLVM や GCC が移植されていない古いハードウェアや特殊な組み込み環境でも、C コンパイラさえあれば Rust コードを動作させることが可能になる。
- 国内組み込み・産業機器への影響: 独自アーキテクチャや古い OS を運用する国内の組み込み機器メーカー(中堅規模以上)において、Rust への移行を阻む最大の障壁だった「ターゲット非対応」問題を解消する選択肢となる。
3. 根拠・詳細(How)
- C コンパイラ依存の適応型生成: cilly はターゲットとなる C コンパイラの型レイアウト、サイズ、アライメント、整数フォーマットをクエリで取得し、その環境に最適化された C コードを生成する。
- ANSI C 準拠と制限事項: ANSI C への準拠を基本としつつ、strict aliasing 等の現代的 C の仕様を回避。コンパイル結果は特定の ISA に依存するため、プラットフォームごとに再生成が必要。
4. 展望・課題(Next)
- cilly ツールチェーンの展開: 今回公開された rustc の変換はデモであり、今後は任意の Rust プロジェクトを C に変換する cilly ツールチェーンとして機能拡充を図る。