Rust 1.92 closes the year
More const, more stable APIs, and a language whose release notes have become pleasantly dull.
Rust 1.92 shipped, closing out a year that included the 2024 edition, let chains, trait upcasting, LLD by default, and a steady march of const stabilizations.
Rather than enumerate this release, here is the year.
what landed in 2025#
Rust 2024 edition (1.85, February). RPIT lifetime capture, unsafe attributes, tail expression temporary scope, gen reserved. The largest edition so far and the migration was mostly mechanical.
Trait upcasting (1.86, April). Eight years open. Deleted a category of boilerplate from every plugin system in the ecosystem.
Anonymous pipes in std (1.87, May), on the tenth anniversary of 1.0.
Let chains (1.88, June). The single most requested ergonomic improvement, unblocked by the edition's scope changes.
x86 SIMD stabilizations (1.89, August). Removed a real competitive disadvantage against C++ for numerical work.
LLD as the default linker on Linux (1.90, September). Build times improved for everyone, most of whom did not notice a release note.
Continuous const expansion across every release, moving more computation to compile time.
the shape of the year#
No single dramatic feature. A lot of things that had been open for years finally closing.
That is what a language looks like when it has passed the phase of adding capability and entered the phase of finishing what it started. The backlog of "this should work and does not" is getting shorter.
what is still open#
Async. Async traits work but the ergonomics around lifetimes, Send bounds, and cancellation remain the sharpest edges in the language. Async closures landed this year and help. The full story — async drop, better cancellation semantics, a standard executor interface — is still ahead.
Const generic expressions. [T; N * 2] still requires nightly. The blocker is the type-equality question and it is genuinely hard.
GUI. Ten years of effort, several promising projects, no consensus. This is partly a Rust problem and mostly the fact that cross-platform GUI is unsolved everywhere.
Compile times. Better every year, still slower than Go, probably always will be for structural reasons.
the adoption picture#
Rust in 2025 is: the default for new systems software, a significant and growing presence in the Linux and Windows kernels, the implementation language for most new JavaScript tooling, and increasingly common in infrastructure that used to be Go or C++.
It is not the default for application development and shows no sign of becoming so. That is fine. It was never the goal and the systems niche is where the memory-safety bugs were.
the thing worth appreciating#
Rust ships every six weeks and has never broken a stable program. There has been no Python 3. There has been no C++11-style decade-long adoption lag.
For a language that has changed as much as Rust has in ten years, that is a remarkable engineering and governance achievement, and it is the reason people are willing to build load-bearing infrastructure in it.
Boring release notes are the reward for getting the hard part right.
— Dom, December 12, 2025