NOTE: Use the 📝 links to edit those that have a relnotes-tracking-issue,
and they will be updated when we regenerate the notes periodically (manually).
See #149652 for final changes.
Version 1.92.0 (2025-12-11)
Language
Compiler
Platform Support
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
Stabilized APIs
These previously stable APIs are now stable in const contexts:
Cargo
Rustdoc
Compatibility Notes
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
Other
NOTE: Use the 📝 links to edit those that have a
relnotes-tracking-issue,and they will be updated when we regenerate the notes periodically (manually).
See #149652 for final changes.
Version 1.92.0 (2025-12-11)
Language
MaybeUninitrepresentation and validity📝
&raw [mut | const]for union field in safe code📝
Sized📝
Xin[X; 0]whenXis unsizing a const📝
#[track_caller]and#[no_mangle](requires every declaration specifying#[track_caller]as well)📝
never_type_fallback_flowing_into_unsafeanddependency_on_unit_never_type_fallbackdeny-by-default📝
📝
📝
unused_must_uselint no longer warns onResult<(), Uninhabited>(for instance,Result<(), !>), orControlFlow<Uninhabited, ()>. This avoids having to check for an error that can never happen.📝
Compiler
mips64el-unknown-linux-muslabi64link dynamically📝
Command-line information is typically not needed by debugging tools, and the removed code
was causing problems for incremental builds even on targets that don't use PDB debuginfo.
📝
Platform Support
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
Iterator::eq{_by}forTrustedLeniterators📝
Extendfor tuples📝
DebugforEncodeWide.📝
iter::Repeat::lastandcountwill now panic, rather than looping infinitely.📝
Stabilized APIs
NonZero<u{N}>::div_ceil📝
Location::file_as_c_str📝
RwLockWriteGuard::downgrade📝
Box::new_zeroedBox::new_zeroed_sliceRc::new_zeroedRc::new_zeroed_sliceArc::new_zeroedArc::new_zeroed_slice📝
btree_map::Entry::insert_entrybtree_map::VacantEntry::insert_entry📝
impl Extend<proc_macro::Group> for proc_macro::TokenStreamimpl Extend<proc_macro::Literal> for proc_macro::TokenStreamimpl Extend<proc_macro::Punct> for proc_macro::TokenStreamimpl Extend<proc_macro::Ident> for proc_macro::TokenStream📝
These previously stable APIs are now stable in const contexts:
<[_]>::rotate_left<[_]>::rotate_right📝
Cargo
Rustdoc
Iterator::lastas well as impl methods likestd::vec::IntoIter::last. Now these impl methods will be hidden, freeing up space for inherent methods likeBTreeSet::last.📝
📝
Compatibility Notes
-C panic=aborton Linux by generating unwind tables by default. Build with-C force-unwind-tables=noto keep omitting unwind tables.📝
invalid_macro_export_argumentsis upgraded to deny-by-default and will be reported in dependencies too.📝
📝
impl DerefMut for Pin<LocalType>📝
pin!and formatting macros📝
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
Other