本文へスキップ

Rust 1.100、32ビットWindowsターゲットのホストツールを廃止

Rust 1.100は32ビットWindows向けのコンパイラ配布をやめます。i686ターゲットには標準ライブラリ(スタンダードライブラリ)が残るため、64ビットWindowsからのクロスコンパイルは引き続き可能です。

著者 Tech AI Wire Team

4 分で読めます

2026年10月2日付のRust Blog記事「Demoting i686 Windows targets to std-only」のスクリーンショット。コンパイラチームを代表してMateusz Mikuła氏とRalf Jung氏が署名しています。

数字で見る

Rust release that removes the 32-bit Windows host tools
1.100
shorter dist-i686-msvc CI job after the change
70%
since 32-bit-only desktop x86 CPUs were last sold, per the Rust blog
15+ years

Rust 1.100では、32ビットWindows上で動くコンパイラの配布が終わります。Rustのコンパイラチームが2026年10月2日に発表しました。2つのi686 Windowsターゲットには標準ライブラリのビルドが残るので、32ビットWindows向けのプログラムは今後も作れます。ただし、ビルドは64ビットのマシンから行う必要があります。

この変更は、コンパイラチームを代表してMateusz Mikuła氏とRalf Jung氏がRust Blogで発表しました。適用されるのはRust 1.100です。これは10月1日に公開されたRust 1.99の次のリリースにあたります。

Rust 1.100で変わること

Rustは、対応するプラットフォームをティア(階層)に分けています。Tier 1のターゲットは変更のたびにテストされ、ビルドと動作が保証されます。Tier 2のターゲットはビルドは保証されますが、完全なテストは行われません。各ティアの中で、ターゲットは「ホストツールあり」か「ホストツールなし」のどちらかです。ホストツールとは、そのマシン自体の上で動くプログラムのことです。コンパイラ、パッケージマネージャのCargo、その他のツールチェーンが含まれます。ホストツールなしのターゲットには、ビルド済みの標準ライブラリだけが提供されます。これは、別の環境からそのプラットフォーム向けのプログラムをコンパイルするために必要なものです。

ターゲットRust 1.100より前Rust 1.100以降
i686-pc-windows-msvcTier 1、ホストツールありTier 1、ホストツールなし
i686-pc-windows-gnuTier 2、ホストツールありTier 2、ホストツールなし

ブログ記事によると、標準ライブラリは両ターゲットに対して引き続き配布されます。MSVCターゲットはTier 1の地位も保ち、CIテストも受け続けます。なくなるのはコンパイラとその他のホストツールです。「Rust 1.100以降、32ビットWindowsホストにツールチェーンをインストールすることはできなくなります」と記事は述べています。

コンパイラチームが打ち切った理由

チームは3つの理由を挙げています。1つ目はハードウェアです。32ビットのコードしか実行できないデスクトップ用やサーバー用のCPUは「15年以上前から販売されていない」と記事は述べています。32ビットWindowsで動く開発マシンはほとんど存在しません。記事はまた、32ビットWindowsの一般サポートが2025年10月に終了したことにも触れています。

2つ目の理由は、ビルドそのものが壊れ始めていたことです。ブログ記事によると、i686 MSVCターゲット向けにビルドしたコンパイラのバイナリはクラッシュします。GNU側では、C++ツールチェーンが最新のハードウェア上でメモリ不足のエラーを起こします。

3つ目の理由はコストです。MSVCのホストツールを削除したプルリクエストは、ユーザーmati865が2026年9月4日にGitHubで開き、9月9日にマージされました。そこにはRustのビルド基盤への効果が示されています。dist-i686-msvcジョブの所要時間は2時間19分から42分1秒へと、70%短くなりました。2つのテストジョブは1つに統合されました。片方がテストを一切実行しなくなったためです。続くプルリクエスト#162577は、プラットフォームサポートのページを修正しました。そのページには、このターゲットがまだホストツールありと記載されていたのです。

2025年に始まっていた降格

GNUターゲットは1年以上前からこの道を歩んできました。2025年2月11日付のRFC 3771は、i686-pc-windows-gnuをTier 1からTier 2へ移しました。このRFCは、同ターゲットのコンパイラのダウンロードを約76,000件、標準ライブラリのダウンロードを約56,000件と数えています。これは他のTier 1プラットフォームをはるかに下回り、FreeBSDなどのTier 2ターゲットと同程度です。RFCはまた、このターゲットにはメンテナチームがないと述べました。Tier 1には少なくとも3人の開発者が必要です。

この降格は2025年5月のRust 1.88.0で有効になりました。当時のブログ記事は、テストの頻度が下がるため、このターゲットは「今後はバグがより速く蓄積していく可能性が高い」と警告していました。RFCは、多くのWindows GNU開発者が頼るツールチェーンであるMSYS2が32ビットパッケージを削減し、32ビットシステム向けのClangを打ち切ったことにも言及しています。さらに、Rustプロジェクトを支援するWindows GNUの専門家は「ほぼ64ビットターゲットだけに注力している」とも述べています。

開発者にとっての意味

64ビットWindowsマシンから32ビットWindows向けのソフトウェアをビルドしているなら、実務上は何も変わりません。64ビットのツールチェーンにターゲットを追加し、これまでどおりクロスコンパイルしてください。両方のi686ターゲットのビルド済み標準ライブラリは、まさにこの用途のために提供され続けます。

32ビットWindowsホストにRustをインストールして使い続けているなら、そこにコンパイラをインストールできる最後の安定版はRust 1.99です。1.100が出てからではなく、今のうちに64ビットホストへの移行を計画してください。

CIパイプラインも確認する価値があります。32ビットWindowsランナーに完全なツールチェーンをインストールするマトリクスの項目は、失敗し始めます。そのジョブを64ビットランナーに切り替え、代わりにi686-pc-windows-msvcまたはi686-pc-windows-gnuをコンパイルターゲットとして追加してください。

特にGNUターゲットには注意が必要です。2025年からTier 2で、メンテナチームがなく、依存するC++ツールチェーンは32ビット対応を手放しつつあります。ユーザーが32ビットWindowsを使っているなら、今ではMSVCターゲットのほうが2つのうちでよくテストされています。

より広い教訓は、Rustがプラットフォームを引退させる方法にあります。プロジェクトは32ビットWindowsを切り捨てたわけではありません。維持に最もコストがかかる部分、つまりホストツールを切り、人々が実際に使う部分を残しました。他の古いターゲットでも同じパターンが続くと見ておくべきです。

出典

  1. Demoting i686 Windows targets to std-only - Rust Blog
  2. Drop host tools from i686-pc-windows-msvc (rust-lang/rust#162288) - GitHub
  3. RFC 3771: Demote i686-pc-windows-gnu - Rust RFC Book
  4. Demoting i686-pc-windows-gnu to Tier 2 - Rust Blog (2025)

関連記事

Rust Blogの記事「Announcing Rust 1.99.0」のスクリーンショット。2026年10月1日付、Rust Release Teamによる投稿。
プログラミング

Rust 1.99がC-variadic関数の定義を安定化

2026年10月1日に公開されたRust 1.99.0により、安定版のRustでprintfのようなC-variadic関数、つまり可変長引数(バリアディック)関数を定義できるようになりました。LLVM 23に移行し、ジェネリクスへのno_mangleはエラーになります。

左から右へ明るくなる5つの濃いグレーの正方形が並び、最後に赤い正方形が1つ置かれている。
プログラミング

Rustのnever型とは何か、解説

Rustのnever型は「!」と書き、値を決して生まないコードの型です。10年を経てRust 1.100で安定になり、型フォールバックも変わります。

A Windows Terminal window showing a Rust project compiling with Cargo on Windows.
プログラミング

MicrosoftでRustがTier-1言語に

MicrosoftはRust(ラスト)をC++、C#、TypeScriptと並ぶTier-1(ティアワン)言語にしました。同社の100を超えるリポジトリが、すでにRustのコードをビルドしています。