release notes
release notes
Published 3/5/2026
MinorContains new features[blocked]
dead_code lint level of the corresponding traits and trait itemsunused_visibilities lint for visibility on const _ declarations[blocked]
Refer to Rust's platform support page for more information on Rust's tiered platform support.
[blocked]
[blocked]
<[T]>::array_windows<[T]>::element_offsetLazyCell::getLazyCell::get_mutLazyCell::force_mutLazyLock::getLazyLock::get_mutLazyLock::force_mutimpl TryFrom<char> for usizestd::iter::Peekable::next_if_mapstd::iter::Peekable::next_if_map_mutavx512fp16 intrinsics (excluding those that depend directly on the unstable f16 type)f16 type)f32::consts::EULER_GAMMAf64::consts::EULER_GAMMAf32::consts::GOLDEN_RATIOf64::consts::GOLDEN_RATIOThese previously stable APIs are now stable in const contexts:
[blocked]
CARGO_BIN_EXE_<crate> available at runtime [blocked]
dyn-typesDrop to run at a different point in time.#[macro_use] This will raise an error if macros of the same name are glob imported. For example if a crate defines their own matches macro and then glob imports that, it's now ambiguous whether the custom or standard library matches is meant and an explicit import of the name is required to resolve the ambiguity. One exception is core::panic and std::panic, if their import is ambiguous a new warning (ambiguous_panic_imports) is raised. This may raise a new warning (ambiguous_panic_imports) on #![no_std] code glob importing the std crate. Both core::panic! and std::panic! are then in scope and which is used is ambiguous.include!(…)s This can cause previously working includes to no longer compile if they included files which started with a shebang.std::time::SystemTime::checked_sub_duration will return None for times before the Windows epoch (1/1/1601)'a are now NFC normalized.--remap-path-prefix given originally. One side-effect of this change is that paths emitted for local crates in Cargo (path dependencies and workspace members) are no longer absolute but relative when emitted as part of a diagnostic in a downstream crate.[blocked]
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.
annotate-snippets for error emission This should preserve mostly the same outputs in rustc error messages.release notes
Published 3/5/2026
MinorContains new features[blocked]
dead_code lint level of the corresponding traits and trait itemsunused_visibilities lint for visibility on const _ declarations[blocked]
Refer to Rust's platform support page for more information on Rust's tiered platform support.
[blocked]
[blocked]
<[T]>::array_windows<[T]>::element_offsetLazyCell::getLazyCell::get_mutLazyCell::force_mutLazyLock::getLazyLock::get_mutLazyLock::force_mutimpl TryFrom<char> for usizestd::iter::Peekable::next_if_mapstd::iter::Peekable::next_if_map_mutavx512fp16 intrinsics (excluding those that depend directly on the unstable f16 type)f16 type)f32::consts::EULER_GAMMAf64::consts::EULER_GAMMAf32::consts::GOLDEN_RATIOf64::consts::GOLDEN_RATIOThese previously stable APIs are now stable in const contexts:
[blocked]
CARGO_BIN_EXE_<crate> available at runtime [blocked]
dyn-typesDrop to run at a different point in time.#[macro_use] This will raise an error if macros of the same name are glob imported. For example if a crate defines their own matches macro and then glob imports that, it's now ambiguous whether the custom or standard library matches is meant and an explicit import of the name is required to resolve the ambiguity. One exception is core::panic and std::panic, if their import is ambiguous a new warning (ambiguous_panic_imports) is raised. This may raise a new warning (ambiguous_panic_imports) on #![no_std] code glob importing the std crate. Both core::panic! and std::panic! are then in scope and which is used is ambiguous.include!(…)s This can cause previously working includes to no longer compile if they included files which started with a shebang.std::time::SystemTime::checked_sub_duration will return None for times before the Windows epoch (1/1/1601)'a are now NFC normalized.--remap-path-prefix given originally. One side-effect of this change is that paths emitted for local crates in Cargo (path dependencies and workspace members) are no longer absolute but relative when emitted as part of a diagnostic in a downstream crate.[blocked]
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.
annotate-snippets for error emission This should preserve mostly the same outputs in rustc error messages.Empowering everyone to build reliable and efficient software.