Aller au contenu

Rust 1.100 retire les outils hôtes des cibles Windows 32 bits

Rust 1.100 cesse de livrer le compilateur pour Windows 32 bits. Les cibles i686 gardent la bibliothèque standard, donc la compilation croisée depuis Windows 64 bits continue de fonctionner.

Par Tech AI Wire Team

4 min de lecture

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.

En chiffres

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 cessera de livrer un compilateur qui s'exécute sur Windows 32 bits, a annoncé l'équipe du compilateur Rust le 2 octobre 2026. Les deux cibles Windows i686 conservent leurs builds de la bibliothèque standard, de sorte que l'on peut toujours produire des programmes Windows 32 bits. Il faut simplement le faire depuis une machine 64 bits.

Le changement a été annoncé sur le Rust Blog par Mateusz Mikuła et Ralf Jung au nom de l'équipe du compilateur. Il arrive avec Rust 1.100, la version qui suit Rust 1.99, sorti le 1er octobre.

Ce qui change dans Rust 1.100

Rust classe les plateformes qu'il prend en charge par niveaux (tiers). Les cibles de niveau 1 sont testées à chaque changement et garanties de compiler et de fonctionner. Les cibles de niveau 2 sont garanties de compiler mais ne sont pas entièrement testées. Dans chaque niveau, une cible existe soit « avec outils hôtes », soit « sans outils hôtes ». Les outils hôtes sont les programmes qui tournent sur la machine elle-même : le compilateur, le gestionnaire de paquets Cargo et le reste de la chaîne d'outils. Une cible sans outils hôtes ne reçoit qu'une bibliothèque standard précompilée. C'est ce dont on a besoin pour compiler des programmes pour cette plateforme depuis un autre environnement.

CibleAvant Rust 1.100À partir de Rust 1.100
i686-pc-windows-msvcNiveau 1 avec outils hôtesNiveau 1 sans outils hôtes
i686-pc-windows-gnuNiveau 2 avec outils hôtesNiveau 2 sans outils hôtes

Le billet indique que la bibliothèque standard continuera d'être distribuée pour les deux cibles. La cible MSVC conserve aussi son statut de niveau 1 et passe toujours par les tests d'intégration continue. Ce qui disparaît, c'est le compilateur et les autres outils hôtes. « Après Rust 1.100, il ne sera plus possible d'installer des chaînes d'outils sur des hôtes Windows 32 bits », écrit le billet.

Pourquoi l'équipe du compilateur tranche

L'équipe avance trois raisons. La première est le matériel. Les processeurs de bureau et de serveur qui n'exécutent que du code 32 bits « ne sont plus vendus depuis plus de 15 ans », indique le billet. Les machines de développement sous Windows 32 bits n'existent presque plus. Le billet rappelle aussi que le support général de Windows 32 bits a pris fin en octobre 2025.

La deuxième raison est que les builds eux-mêmes cassaient. Selon le billet, les binaires du compilateur produits pour la cible i686 MSVC plantent. Côté GNU, la chaîne d'outils C++ échoue avec des erreurs de mémoire insuffisante sur du matériel moderne.

La troisième raison est le coût. La pull request qui a retiré les outils hôtes MSVC a été ouverte sur GitHub par l'utilisateur mati865 le 4 septembre 2026 et fusionnée le 9 septembre. Elle montre l'effet sur la ferme de compilation de Rust. Le job dist-i686-msvc est passé de 2 heures 19 minutes à 42 minutes 1 seconde, soit une baisse de 70 %. Deux jobs de test ont été fusionnés en un seul, parce que l'un d'eux n'exécutait plus aucun test. Une pull request de suivi, la #162577, a corrigé la page de support des plateformes, qui présentait encore la cible comme dotée d'outils hôtes.

Une rétrogradation commencée en 2025

La cible GNU suit ce chemin depuis plus d'un an. La RFC 3771, datée du 11 février 2025, a fait passer i686-pc-windows-gnu du niveau 1 au niveau 2. Elle comptait environ 76 000 téléchargements du compilateur et 56 000 de la bibliothèque standard pour cette cible. C'est très en dessous des autres plateformes de niveau 1 et au niveau des cibles de niveau 2 comme FreeBSD. La RFC indiquait aussi que la cible n'avait pas d'équipe de mainteneurs, alors que le niveau 1 exige au moins trois développeurs.

Cette rétrogradation a pris effet avec Rust 1.88.0 en mai 2025. Un billet de blog avertissait alors que la cible « accumulera probablement les bugs plus vite à l'avenir », faute de tests fréquents. La RFC notait que MSYS2, la chaîne d'outils sur laquelle comptent beaucoup de développeurs Windows GNU, abandonnait des paquets 32 bits et avait arrêté Clang pour les systèmes 32 bits. Elle ajoutait que les experts Windows GNU qui aident le projet Rust « se concentrent presque exclusivement sur les cibles 64 bits ».

Ce que cela signifie pour les développeurs

Si vous compilez des logiciels Windows 32 bits depuis une machine Windows 64 bits, rien ne change en pratique. Ajoutez la cible à votre chaîne d'outils 64 bits et compilez en croisé comme avant. La bibliothèque standard précompilée des deux cibles i686 reste disponible précisément pour ce flux de travail.

Si vous utilisez encore un hôte Windows 32 bits avec Rust installé, Rust 1.99 est la dernière version stable qui y installe un compilateur. Planifiez le passage à un hôte 64 bits dès maintenant, plutôt qu'à la sortie de 1.100.

Les pipelines d'intégration continue méritent une vérification. Une entrée de matrice qui installe une chaîne d'outils complète sur un runner Windows 32 bits va se mettre à échouer. Basculez ce job sur un runner 64 bits et ajoutez i686-pc-windows-msvc ou i686-pc-windows-gnu comme cible de compilation à la place.

Surveillez en particulier la cible GNU. Elle est de niveau 2 depuis 2025, n'a pas d'équipe de mainteneurs, et la chaîne d'outils C++ dont elle dépend se défait du 32 bits. Si vos utilisateurs sont sous Windows 32 bits, la cible MSVC est désormais la mieux testée des deux.

La leçon plus large porte sur la façon dont Rust retire des plateformes. Le projet n'a pas abandonné Windows 32 bits. Il a coupé la partie la plus coûteuse à maintenir, les outils hôtes, et gardé celle que les gens utilisent vraiment. Attendez-vous au même schéma pour d'autres cibles vieillissantes.

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)

Articles liés

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

Le type never de Rust, expliqué

Le type never de Rust, écrit !, est le type du code qui ne produit jamais de valeur. Il est stable dans Rust 1.100 après dix ans, et il change le repli de type.