Skip to content

Rust 1.100 drops host tools for 32-bit Windows targets

Rust 1.100 stops shipping the compiler for 32-bit Windows. The i686 targets keep the standard library, so cross-compiling from 64-bit Windows still works.

By Tech AI Wire Team

4 min read

XLinkedIn
Screenshot of the Rust Blog post 'Demoting i686 Windows targets to std-only', dated October 2, 2026 and signed by Mateusz Mikuła and Ralf Jung for the compiler team.

By the numbers

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 will stop shipping a compiler that runs on 32-bit Windows, the Rust compiler team said on October 2, 2026. The two i686 Windows targets keep their standard library builds, so you can still build 32-bit Windows programs. You just have to do it from a 64-bit machine.

The change was announced on the Rust Blog by Mateusz Mikuła and Ralf Jung on behalf of the compiler team. It lands in Rust 1.100, the release after Rust 1.99, which shipped on October 1.

What changes in Rust 1.100

Rust sorts the platforms it supports into tiers. Tier 1 targets are tested on every change and guaranteed to build and work. Tier 2 targets are guaranteed to build but are not fully tested. Within each tier, a target comes either "with host tools" or "without host tools." Host tools are the programs that run on the machine itself: the compiler, the Cargo package manager and the rest of the toolchain. A target without host tools only gets a prebuilt standard library. That is what you need to compile programs for the platform from somewhere else.

TargetBefore Rust 1.100From Rust 1.100
i686-pc-windows-msvcTier 1 with host toolsTier 1 without host tools
i686-pc-windows-gnuTier 2 with host toolsTier 2 without host tools

The blog post says the standard library will continue to be distributed for both targets. The MSVC target also keeps its Tier 1 status and still goes through CI testing. What goes away is the compiler and the other host tools. "After Rust 1.100, it will no longer be possible to install toolchains on 32-bit Windows hosts," the post says.

Why the compiler team made the cut

The team gives three reasons. The first is hardware. Desktop and server CPUs that can only run 32-bit code "are no longer sold for over 15 years," the post says. Development machines running 32-bit Windows barely exist. The post also notes that general support for 32-bit Windows ended in October 2025.

The second reason is that the builds themselves were breaking. According to the blog post, compiler binaries built for the i686 MSVC target crash. On the GNU side, the C++ toolchain fails with out-of-memory errors on modern hardware.

The third reason is cost. The pull request that removed the MSVC host tools was opened on GitHub by user mati865 on September 4, 2026 and merged on September 9. It shows the effect on Rust's build farm. The dist-i686-msvc job dropped from 2 hours 19 minutes to 42 minutes 1 second, a 70% decrease. Two test jobs were merged into one, because one of them no longer ran any tests. A follow-up pull request, #162577, fixed the platform support page, which had still listed the target as having host tools.

A demotion that started in 2025

The GNU target has been on this path for more than a year. RFC 3771, dated February 11, 2025, moved i686-pc-windows-gnu from Tier 1 to Tier 2. It counted about 76,000 downloads of the compiler and 56,000 of the standard library for that target. That is far below other Tier 1 platforms and in line with Tier 2 targets such as FreeBSD. The RFC also said the target had no maintainer team, while Tier 1 requires at least three developers.

That demotion took effect in Rust 1.88.0 in May 2025. A blog post at the time warned that the target "will likely accumulate bugs faster in the future" because it was tested less often. The RFC noted that MSYS2, the toolchain many Windows GNU developers rely on, had been dropping 32-bit packages and had discontinued Clang for 32-bit systems. It also said the Windows GNU experts who help the Rust project "focus almost exclusively on the 64-bit targets."

What this means for developers

If you build 32-bit Windows software from a 64-bit Windows machine, nothing changes in practice. Add the target to your 64-bit toolchain and cross-compile as before. The prebuilt standard library for both i686 targets stays available for exactly this workflow.

If you still run a 32-bit Windows host with Rust installed, Rust 1.99 is the last stable release that installs a compiler there. Plan the move to a 64-bit host now rather than when 1.100 ships.

CI pipelines deserve a check. A matrix entry that installs a full toolchain on a 32-bit Windows runner will start failing. Switch that job to a 64-bit runner and add i686-pc-windows-msvc or i686-pc-windows-gnu as a compilation target instead.

Watch the GNU target in particular. It has been Tier 2 since 2025, it has no maintainer team, and the C++ toolchain it depends on is shedding 32-bit support. If your users are on 32-bit Windows, the MSVC target is now the better-tested of the two.

The wider lesson is about how Rust retires platforms. The project did not drop 32-bit Windows. It cut the part that cost the most to keep, the host tools, and kept the part people actually use. Expect the same pattern for other aging targets.

Sources

  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)

Related articles

Five dark gray squares in a row that lighten from left to right, ending in a single solid red square.
Coding

Rust's never type, explained

Rust's never type, written !, is the type of code that never produces a value. It is stable in Rust 1.100 after ten years, and it changes type fallback.

The daily brief

Three to five stories a day, and what each one means for the people who build software. Free, no spam.