Open
Conversation
5b573cb to
8aef163
Compare
8aef163 to
72aa2d1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.93.1→1.95.0Release Notes
rust-lang/rust (rust)
v1.95.0Compare Source
===========================
Language
if letguards on match armsirrefutable_let_patternslint no longer lints on let chainsCompiler
--remap-path-scopefor controlling the scoping of how paths get remapped in the resulting binaryPlatform Support
powerpc64-unknown-linux-muslto Tier 2 with host toolsaarch64-apple-tvosto Tier 2aarch64-apple-tvos-simto Tier 2aarch64-apple-watchosto Tier 2aarch64-apple-watchos-simto Tier 2aarch64-apple-visionosto Tier 2aarch64-apple-visionos-simto Tier 2Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
thread::scope: document how join interacts with TLS destructorsstr::containson aarch64 targets withneontarget feature enabled by defaultStabilized APIs
MaybeUninit<[T; N]>: From<[MaybeUninit<T>; N]>MaybeUninit<[T; N]>: AsRef<[MaybeUninit<T>; N]>MaybeUninit<[T; N]>: AsRef<[MaybeUninit<T>]>MaybeUninit<[T; N]>: AsMut<[MaybeUninit<T>; N]>MaybeUninit<[T; N]>: AsMut<[MaybeUninit<T>]>[MaybeUninit<T>; N]: From<MaybeUninit<[T; N]>>Cell<[T; N]>: AsRef<[Cell<T>; N]>Cell<[T; N]>: AsRef<[Cell<T>]>Cell<[T]>: AsRef<[Cell<T>]>bool: TryFrom<{integer}>AtomicPtr::updateAtomicPtr::try_updateAtomicBool::updateAtomicBool::try_updateAtomicIn::updateAtomicIn::try_updateAtomicUn::updateAtomicUn::try_updatecfg_select!mod core::rangecore::range::RangeInclusivecore::range::RangeInclusiveItercore::hint::cold_path<*const T>::as_ref_unchecked<*mut T>::as_ref_unchecked<*mut T>::as_mut_uncheckedVec::push_mutVec::insert_mutVecDeque::push_front_mutVecDeque::push_back_mutVecDeque::insert_mutLinkedList::push_front_mutLinkedList::push_back_mutLayout::dangling_ptrLayout::repeatLayout::repeat_packedLayout::extend_packedThese previously stable APIs are now stable in const contexts:
fmt::from_fnControlFlow::is_breakControlFlow::is_continueRustdoc
Compatibility Notes
$cratewithout renaming, i.e.use $crate::{self};, is now no longer permitted due to stricter error checking forselfimports.In very rare cases, this may cause compilation errors due to bytes from parts of a pointer ending up in the padding bytes of a
constorstatic.ambiguous_glob_imported_traitsis now reported when using an ambiguously glob imported traitEq::assert_receiver_is_total_eqand emit future compatibility warnings on manual impls#[non_exhaustive]enum now reads the discriminant, even if the enum has only one variant. This can cause closures to capture values that they previously wouldn't.mut refandmut ref mutpatterns, part of the unstable Match Ergonomics 2024 RFC, were accidentally allowed on stable within struct pattern field shorthand. These patterns are now correctly feature-gated as unstable in this position.-Z unstable-optionsto use. Previously, they could not be used without the standard library, which has no stable build mechanism. In preparation for thebuild-stdproject adding that support, JSON target specs are being proactively gated to ensure they remain unstable even ifbuild-stdis stabilized. Cargo now includes the-Z json-target-specCLI flag to automatically pass-Z unstable-optionsto the compiler when needed. See #150151, #151534, and rust-lang/cargo#16557.#[feature]attributes on invalid targets are now checkedInternal 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.
v1.94.1Compare Source
===========================
std::thread::spawnon wasm32-wasip1-threadsstd::os::windows::fs::OpenOptionsExtThe new methods were unstable, but the trait itself is not sealed and so
cannot be extended with non-default methods.
match_same_armsThis resolves CVE-2026-33055 and CVE-2026-33056. Users of crates.io are not affected.
See blog for more details.
v1.94.0Compare Source
==========================
Language
dead_codelint level of the corresponding traits and trait itemsunused_visibilitieslint for visibility onconst _declarationsPlatform Support
riscv64im-unknown-none-elfas a tier 3 targetRefer 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<[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_mutavx512fp16intrinsics(excluding those that depend directly on the unstable
f16type)(excluding those that depend directly on the unstable
f16type)f32::consts::EULER_GAMMAf64::consts::EULER_GAMMAf32::consts::GOLDEN_RATIOf64::consts::GOLDEN_RATIOThese previously stable APIs are now stable in const contexts:
f32::mul_addf64::mul_addCargo
CARGO_BIN_EXE_<crate>available at runtimeCompatibility Notes
dyn-typesSome 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, or cause
Dropto 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
matchesmacro and then glob imports that,it's now ambiguous whether the custom or standard library
matchesis meant andan explicit import of the name is required to resolve the ambiguity.
One exception is
core::panicandstd::panic, if their import is ambiguousa 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!andstd::panic!are then in scope and which is used is ambiguous.include!(…)sThis 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 currently have no effect in this position.
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.
Configuration
📅 Schedule: (in timezone America/Los_Angeles)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.