Rust est désormais un langage de niveau 1 chez Microsoft
Microsoft a fait de Rust un langage de niveau 1 aux côtés de C++, C# et TypeScript. Plus de 100 de ses dépôts compilent déjà du code Rust.
3 min de lecture

En chiffres
- Microsoft repositories building Rust code
- 100+
- of Windows CVEs that are memory issues, per Mark Russinovich
- ~70%
- tier-1 languages at Microsoft: Rust, C++, C# and TypeScript
- 4
Microsoft a accordé à Rust le statut de langage de niveau 1 en interne, le plaçant sur le même pied que C++, C# et TypeScript. Victor Ciura, ingénieur principal au sein de l'équipe outillage Rust du groupe DevDiv/CoreAI de Microsoft, l'a annoncé dans un billet invité sur le site de la Rust Foundation publié le 10 septembre 2026. Pour les développeurs extérieurs à Microsoft, l'intérêt ne réside pas dans l'étiquette. Il réside dans le travail sur le compilateur que cette étiquette a financé.
« Rust se range aux côtés de C++, C# et TypeScript comme l'un des langages les mieux pris en charge pour le développement interne chez Microsoft », a écrit Ciura.
Ce que le niveau 1 apporte à un langage chez Microsoft
Le niveau 1 est un engagement d'ingénierie interne, pas une catégorie marketing. Ciura a énuméré ce qu'il oblige Microsoft à fournir à ses propres équipes :
- Des compilations sûres et reproductibles de la chaîne d'outils elle-même
- Un outillage pour développeurs au niveau exigé pour C++ et C#
- Des processus de qualité et de publication
- Une intégration profonde à la plateforme Windows
- La conformité au Security Development Lifecycle de Microsoft
L'argument de sécurité qui la sous-tend est direct. Mark Russinovich, directeur technique d'Azure chez Microsoft, a déclaré qu'« environ 70 % des CVE de Windows sont des problèmes de mémoire », a rapporté The Register le 11 septembre 2026. Sa conclusion était tout aussi directe : « quelle que soit notre envie d'améliorer C et C++, nous ne pourrons pas les rendre aussi bons que ce dont Rust part ».
rustc_codegen_utc relie Rust à MSVC
La pièce maîtresse technique est un backend de compilation nommé rustc_codegen_utc. Il relie rustc, le compilateur Rust, directement à UTC, l'optimiseur au cœur de la chaîne d'outils C++ de Microsoft. Il appartient à la même famille que rustc_codegen_llvm, le backend qu'utilisent aujourd'hui presque tous les développeurs Rust.
L'objectif est une génération de code unifiée sous Windows. Un projet mêlant Rust et C++ fait aujourd'hui tourner deux optimiseurs distincts, avec deux jeux d'hypothèses. Faire passer les deux par UTC signifie qu'un seul optimiseur voit tout le programme. « Ces investissements reposent sur une base commune à C++ et à Rust », a écrit Ciura, autrement dit le travail fait pour le compilateur C++ profite désormais aussi à Rust.
Plus de 100 dépôts de Microsoft compilent déjà des projets mixtes Rust et C++ de cette façon, selon le billet de la Rust Foundation.
Où Rust tourne déjà chez Microsoft
| Domaine | Ce qui est écrit en Rust |
|---|---|
| Windows | Intégration à la plateforme, micrologiciels, pilotes, noyau, hyperviseurs |
| Microsoft 365 | Services d'Outlook, Word, Excel, OneDrive et SharePoint |
| Rendu de texte | DirectWrite Core |
| Services | Bâtis sur Oxidizer, l'ensemble de crates Rust de Microsoft pour les services à grande échelle |
Oxidizer est la collection interne de crates avec laquelle Microsoft construit ses services en Rust, et The Register indique que les travaux Microsoft 365 ci-dessus reposent dessus. DirectWrite Core, l'implémentation du rendu de texte de Windows, a été décrit comme un composant Rust par Ciura dans le podcast Rust in Production de corrode.dev en avril 2025.
Ce que cela signifie pour les développeurs
Rien de tout cela ne vous parvient aujourd'hui. rustc_codegen_utc est le backend interne de Microsoft, et ni le billet de la Rust Foundation ni The Register n'indiquent qu'il sera publié ni intégré à rustc.
Surveillez-le quand même, pour une raison précise. Rust n'a eu, pendant toute son existence, qu'un seul générateur de code de production : LLVM. Des backends alternatifs comme rustc_codegen_gcc et rustc_codegen_cranelift existent, mais ne supportent rien de comparable à la charge de Windows. Un second backend sous pression de production réelle tend à révéler les endroits où le langage a discrètement supposé le comportement de LLVM. Ces corrections remontent généralement en amont, que le backend lui-même soit publié ou non.
Si vous livrez une bibliothèque Windows, c'est le cas multilangage qu'il faut examiner. Aujourd'hui, une base de code Rust et C++ paie deux chaînes d'outils et deux optimiseurs, et l'inlining entre langages n'a pas lieu. Microsoft résout cela en interne. Il n'existe aucun calendrier public pour que d'autres en bénéficient.
Pour tous les autres, le signal concerne l'embauche et la durée de vie plutôt que la syntaxe. Le statut de niveau 1 signifie que Microsoft a engagé un budget de maintenance, et pas seulement de l'enthousiasme, sur la chaîne d'outils Rust. C'est cet engagement qui garde un langage viable sur une décennie. Le même pari apparaît ailleurs dans les logiciels système ce mois-ci. L'auteur de l'éditeur de liens mold le réécrit du C++ vers Rust, avec l'ambition de devenir celui par défaut sous Linux.
Sources
- Guest Post: Rust Is Tier-1 Language at Microsoft - Rust Foundation
- Microsoft annoints Rust as a 'Tier 1' internal language - The Register
- Rust in Production S04E01: Microsoft with Victor Ciura - corrode.dev
Articles liés

Windows 11 active l'intégrité de la mémoire par défaut dès le 13 octobre
Microsoft activera automatiquement la protection du noyau de Windows 11 sur les PC éligibles à partir du Patch Tuesday du 13 octobre. Les vieux pilotes sont les plus exposés.

Rustls 0.23.45 corrige une faille TLS 1.3 datant de 2024
Les versions 0.23.13 à 0.23.44 acceptaient des messages de poignée de main TLS 1.3 au mauvais niveau de chiffrement, un bogue introduit en septembre 2024.

Une attaque sur la chaîne d'approvisionnement Rust glisse un malware de build dans arrayref
Des versions malveillantes d'arrayref, internment et append-only-vec ont exécuté une charge distante pendant cargo build, avant leur retrait de crates.io en moins de deux heures.