
Rust 1.92 has been released with a strong focus on improving compiler correctness by tightening rules around the never type. Announced by the Rust release team on December 11, the update continues long-term efforts to stabilize this language feature, which represents code paths that can never produce a value. Developers can move to the new version by updating their stable toolchain through rustup.
A central change in Rust 1.92 is the promotion of two future-compatibility lints — related to never type fallback behavior — to deny-by-default status. When triggered, these lints now produce compilation errors rather than warnings, signaling code that is likely to break once never type stabilization is complete. Although developers can still explicitly allow these lints, the release team recommends addressing the underlying issues. Importantly, these checks only apply when compiling the affected crate directly, not when it is used as a dependency.
The release also refines existing lint behavior. The unused_must_use lint no longer fires for result types that cannot produce an error, such as Result<(), Infallible> or ControlFlow<UninhabitedType, ()>. This change removes unnecessary warnings and simplifies code where error handling would be meaningless because failure is impossible.
Beyond linting, Rust 1.92 introduces changes to compiler output and diagnostics. Unwind tables are now generated by default even when compiling with panic=abort, ensuring that backtraces function correctly. Developers who need to disable this behavior can do so explicitly with a compiler flag. The compiler also continues to improve how built-in attributes are processed, resulting in clearer and more consistent error messages across the language’s extensive set of attributes.
Finally, the release stabilizes several new APIs, including Location::file_as_c_str and zero-initialization helpers for Rc and Arc. Rust 1.92 follows the recent Rust 1.91 release, which elevated Windows on Arm64 to Tier 1 support, along with a subsequent point update that addressed regressions affecting WebAssembly and Cargo.

