🛠Tools🔥

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 ツールチェーンとして機能拡充を図る。