-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Open
Labels
T-releaseRelevant to the release subteam, which will review and decide on the PR/issue.Relevant to the release subteam, which will review and decide on the PR/issue.
Milestone
Description
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).
Version 1.94.0 (2026-03-05)
Language
- Make closure capturing have consistent and correct behaviour around patterns
π - Impls and impl items inherit
dead_codelint level of the corresponding traits and trait items
π - Stabilize additional 29 RISC-V target features including large portions of the RVA22U64 / RVA23U64 profiles
π - Don't strip
include!(β¦)shebang in expression context
π - Add warn-by-default lint for visibility on
const _declarations
π - Update to Unicode 17
π - Avoid incorrect lifetime errors for closures
π
Compiler
Platform Support
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
- Relax
T: Ordbound for someBinaryHeap<T>methods.
π
Stabilized APIs
[T]::array_windows
πLazyCell::getLazyCell::get_mutLazyCell::force_mutLazyLock::getLazyLock::get_mutLazyLock::force_mut
πimpl TryFrom<char> for usize
πstd::iter::Peekable::next_if_mapstd::iter::Peekable::next_if_map_mut
π<[T]>::element_offset
πf32::consts::EULER_GAMMAf64::consts::EULER_GAMMAf32::consts::GOLDEN_RATIOf64::consts::GOLDEN_RATIO
π
These previously stable APIs are now stable in const contexts:
Cargo
- feat: stabilize
-Zconfig-include - fix(package): Don't verify registry for --list
- feat(index): Stabilize pubtime
- feat(toml): TOML 1.1 parse support
- fix(timing)!: remove
--timings=<FMT>optional format values - feat(test): Make CARGO_BIN_EXE_ available at runtime
Compatibility Notes
- Forbid freely casting lifetime bounds of
dyn-types
π - core and std macros are now imported via prelude, not via injected
#[macro_use]
This may raise a new warning (ambiguous_panic_imports) on#![no_std]code glob importing the std crate.
Bothcore::panic!andstd::panic!are then in scope and which is used is ambiguous.
π - Ambiguous glob reexports are now also visible cross-crate
This unifies behavior between local and cross-crate errors on these exports, which may introduce new ambiguity errors.
π - don't normalize where-clauses before checking well-formedness
π - Introduce a future compatibility warning on codegen attributes on body-free trait methods
These attributes have no effect in this position today.
π - Lifetime identifiers such as
'aare now NFC normalized.
π - Overhaul filename handling for cross-compiler consistency
Any paths emitted by compiler now always respect the relative-ness of the paths and--remap-path-prefixgiven 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.
π
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.
- Switch to
annotate-snippetsfor error emission
This should preserve mostly the same outputs in rustc error messages.
π
Metadata
Metadata
Assignees
Labels
T-releaseRelevant to the release subteam, which will review and decide on the PR/issue.Relevant to the release subteam, which will review and decide on the PR/issue.