-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Draft release notes for 1.94.0 #151650
Copy link
Copy link
Closed
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
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.
Type
Fields
Give feedbackNo fields configured for issues without a type.
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
dead_codelint level of the corresponding traits and trait items📝
📝
const _declarations📝
📝
📝
Compiler
outline-atomicsby default on more AArch64 platforms📝
Platform Support
riscv64im-unknown-none-elfas a tier 3 target📝
Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
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📝
avx512fp16intrinsicsThis excludes those that depend directly on the unstable
f16type.This excludes those that depend directly on the unstable
f16type.📝
<[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:
f32::mul_addf64::mul_add📝
Cargo
-Zconfig-include--timings=<FMT>optional format valuesCompatibility Notes
dyn-types📝
Some finer details of how precise closure captures get affected by pattern matching have been changed. In some cases, this can cause a non-move closure that was previously capturing an entire variable by move, to now capture only part of that variable by move, and other parts by borrow. This can cause the borrow checker to complain where it previously didn't.
📝
#[macro_use]This may raise a new warning (
ambiguous_panic_imports) on#![no_std]code glob importing the std crate.Both
core::panic!andstd::panic!are then in scope and which is used is ambiguous.📝
include!(…)shebang in expression contextThis can cause previously working includes to no longer compile if they included files which started with a shebang.
📝
This unifies behavior between local and cross-crate errors on these exports, which may introduce new ambiguity errors.
📝
📝
These attributes have no effect in this position today.
📝
std::time::SystemTime::checked_sub_durationwill returnNonefor times before the Windows epoch (1/1/1601)📝
'aare now NFC normalized.📝
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.
annotate-snippetsfor error emissionThis should preserve mostly the same outputs in rustc error messages.
📝