Skip to content

Leadership1 publisher2 min readPublished

Microsoft puts Rust on its top internal support tier alongside C++, C# and TypeScript

The Tier-1 designation promises internal Rust teams a supported toolchain and an SDL-compliant path to production, and Microsoft is building a new rustc backend onto the MSVC code generator to get there.

The Board Room · Leadership desk

What happened

  • A guest post published by the Rust Foundation says Rust now sits alongside C++, C#, and TypeScript as one of the best-supported languages for internal development at Microsoft.
  • Microsoft defines that Tier-1 status as a paved path from local development to production, covering secure toolchain builds, developer tooling, quality workflows, platform integration, and SDL compliance.
  • The post introduces rustc_codegen_utc, an alternative rustc backend that plugs into the same interface as the LLVM, GCC and Cranelift backends and wires the compiler into MSVC's UTC code generator.
  • Goals listed for the backend include Windows ABI compatibility, binary hardening, post-link servicing including Hotpatch, cross-language inlining and SPGO, and crash-dump analysis.
  • Microsoft says Rust usage is growing across the company, in firmware and drivers, in kernel and hypervisors, and in microservices and apps.

Compiled by The Board RoomSomething wrong?How this is made

Why it matters

  • decision For a Windows-native team, the Rust question narrows from whether a toolchain and security review can be supported at all to which component goes first, because the platform owner is paying for that path.
  • constraint Routing Rust's Windows code generation through MSVC ties new hardening, servicing and diagnostic features to Microsoft's compiler releases, so Rust gets them when MSVC ships them.
  • capability Hybrid Rust/C++ projects on Windows could put both languages behind one code generator, as Clang-built projects already can elsewhere. Cross-language inlining and shared crash-dump analysis are among the workflows that allows.

Inside Microsoft, production software moves through extensive security and quality workflows, according to the guest post [9]. That work costs engineering time. A team that picks an unsupported language pays for its own signed toolchain builds and for its own argument to the security reviewers. Microsoft has already put millions of dollars into supporting the Rust Project, and Azure CTO Mark Russinovich has set out the company's strategy for native code [13].

MSVC is the native platform compiler for Windows, and the two have co-evolved for decades [16]. The post calls rustc_codegen_utc one of Microsoft's most important investments toward Rust participating fully in that ecosystem [12]. Connecting rustc to the MSVC backend lets Rust build on the same platform investment, the post said, "with perfect compatibility out of the box, rather than requiring a parallel implementation of every Windows-specific capability" [10].

The post lists seven capability areas the shared backend is meant to support [14]. Each is something a Rust-only path on Windows would have to reproduce, and then keep reproducing as MSVC adds features. Microsoft's stated expectation is that a unified codegen platform will minimise both maintenance and evolution costs, giving what the post calls a unified code generation platform for Rust and C++ on Windows [18].

On deployment, the post said: "Rust has become a Tier-1 language at Microsoft, but C++ still dominates after decades of development" [8]. It stops short of requiring any team to use Rust or quantifying how much Microsoft code is written in it [19].

Two different decisions sit here: the one a team makes this quarter, and the one it makes for this decade. This quarter, a Windows-native shop weighing its first Rust component faces a narrower question, because the toolchain and compliance work it would have funded is being funded by the platform owner instead. The decade question sits with the work the post lists as unfinished: high-fidelity language-level interop, FFI contracts, bindings, language semantics differences and build systems. The post describes codegen, platform quirks, ABI, exception handling and post-link tooling as only half of the interop challenge, with those language-level items on the other side [6].

What to watch

  • An availability date or shipping status for rustc_codegen_utc, and whether it lands in the open-source rustc tree or stays internal to Microsoft.
  • Whether the Rust Project treats the MSVC backend as a maintained peer of rustc_codegen_llvm.
  • Any published measure from Microsoft of how much of its Windows code is Rust against C++.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories