Update dependency rust to v1.90.0 #331
Open
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.88
->1.90.0
Release Notes
rust-lang/rust (rust)
v1.90.0
Compare Source
===========================
Language
unknown_or_malformed_diagnostic_attributes
lint. This lint has been split up into four finer-grained lints, withunknown_or_malformed_diagnostic_attributes
now being the lint group that contains these lints:unknown_diagnostic_attributes
: unknown to the current compilermisplaced_diagnostic_attributes
: placed on the wrong itemmalformed_diagnostic_attributes
: malformed attribute syntax or optionsmalformed_diagnostic_format_literals
: malformed format string literalCompiler
lld
by default onx86_64-unknown-linux-gnu
.musl
targets now link dynamically by default. Affected targets:mips64-unknown-linux-muslabi64
powerpc64-unknown-linux-musl
powerpc-unknown-linux-musl
powerpc-unknown-linux-muslspe
riscv32gc-unknown-linux-musl
s390x-unknown-linux-musl
thumbv7neon-unknown-linux-musleabihf
Platform Support
x86_64-apple-darwin
to Tier 2 with host toolsRefer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
u*::{checked,overflowing,saturating,wrapping}_sub_signed
CStr
,CString
, andCow<CStr>
MSG_NOSIGNAL
forUnixStream
proc_macro::Ident::new
now supports$crate
.Thread::into_raw
has at least 8 bytes of alignmentStabilized APIs
u{n}::checked_sub_signed
u{n}::overflowing_sub_signed
u{n}::saturating_sub_signed
u{n}::wrapping_sub_signed
impl Copy for IntErrorKind
impl Hash for IntErrorKind
impl PartialEq<&CStr> for CStr
impl PartialEq<CString> for CStr
impl PartialEq<Cow<CStr>> for CStr
impl PartialEq<&CStr> for CString
impl PartialEq<CStr> for CString
impl PartialEq<Cow<CStr>> for CString
impl PartialEq<&CStr> for Cow<CStr>
impl PartialEq<CStr> for Cow<CStr>
impl PartialEq<CString> for Cow<CStr>
These previously stable APIs are now stable in const contexts:
<[T]>::reverse
f32::floor
f32::ceil
f32::trunc
f32::fract
f32::round
f32::round_ties_even
f64::floor
f64::ceil
f64::trunc
f64::fract
f64::round
f64::round_ties_even
Cargo
http.proxy-cainfo
config for proxy certsgix
forcargo package
Rustdoc
impl
blocks, now they do when shift is heldunsafe()
wrappersCompatibility Notes
lld
by default onx86_64-unknown-linux-gnu
.See also https://blog.rust-lang.org/2025/09/01/rust-lld-on-1.90.0-stable/.
core::iter::Fuse
'sDefault
impl constructI::default()
internally as promised in the docs instead of always being emptyMSG_NOSIGNAL
forUnixStream
This may change program behavior but results in the same behavior as other primitives (e.g., stdout, network sockets).
Programs relying on signals to terminate them should update handling of sockets to handle errors on write by exiting.
std::env::home_dir
will use the fallback if theHOME
environment variable is emptyextern "{abi}"
s consistently in all positions. This primarily affects the use of implementing traits on anextern "{abi}"
function pointer, likeextern "stdcall" fn()
, on a platform that doesn't support that, like aarch64-unknown-linux-gnu. Direct usage of these unsupported ABI strings by declaring or defining functions was already rejected, so this is only a change for consistency.proc_macro_derive
macro has correct arguments when applied to the crate rootv1.89.0
Compare Source
==========================
Language
feature(generic_arg_infer)
)mismatched_lifetime_syntaxes
lint.This lint detects when the same lifetime is referred to by different syntax categories between function arguments and return values, which can be confusing to read, especially in unsafe code.
This lint supersedes the warn-by-default
elided_named_lifetimes
lint.unpredictable_function_pointer_comparisons
to also lint on function pointer comparisons in external macrosdangerous_implicit_autorefs
lint deny-by-defaultkl
andwidekl
target features for x86sha512
,sm3
andsm4
target features for x86f
,d
,frecipe
,lasx
,lbt
,lsx
, andlvz
i128
andu128
fromimproper_ctypes_definitions
repr128
(#[repr(u128)]
,#[repr(i128)]
)#![doc(test(attr(..)))]
everywhereextern "C"
functions on thewasm32-unknown-unknown
target now have a standards compliant ABICompiler
Platform Support
loongarch32-unknown-none
andloongarch32-unknown-none-softfloat
x86_64-apple-darwin
is in the process of being demoted to Tier 2 with host toolsRefer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
file!
format_args!()
in a variable#[must_use]
to[T; N]::map
DerefMut
forLazy{Cell,Lock}
Default
forarray::IntoIter
Clone
forslice::ChunkBy
io::Seek
forio::Take
Stabilized APIs
NonZero<char>
SHA512
,SM3
andSM4
intrinsicsFile::lock
File::lock_shared
File::try_lock
File::try_lock_shared
File::unlock
NonNull::from_ref
NonNull::from_mut
NonNull::without_provenance
NonNull::with_exposed_provenance
NonNull::expose_provenance
OsString::leak
PathBuf::leak
Result::flatten
std::os::linux::net::TcpStreamExt::quickack
std::os::linux::net::TcpStreamExt::set_quickack
These previously stable APIs are now stable in const contexts:
<[T; N]>::as_mut_slice
<[u8]>::eq_ignore_ascii_case
str::eq_ignore_ascii_case
Cargo
cargo fix
andcargo clippy --fix
now default to the same Cargo target selection as other build commands. Previously it would apply to all targets (like binaries, examples, tests, etc.). The--edition
flag still applies to all targets.runner
setting to run the tests. If you need to disable tests for a target, you can use the ignore doctest attribute to specify the targets to ignore.Rustdoc
Compatibility Notes
missing_fragment_specifier
an unconditional errorneon
target feature onaarch64-unknown-none-softfloat
causes a warning because mixing code with and without that target feature is not properly supported by LLVM?Sized
bounds on impls on recursive types which contain associated type projections. It is not expected to affect any existing published crates. Can be fixed by refactoring the involved types or opting into thesized_hierarchy
unstable feature. See the FCP report for a code example.elided_named_lifetimes
lint is superseded by the warn-by-defaultmismatched_lifetime_syntaxes
lint.Copy
are now only available at the end of type checkingstd::intrinsics::{copy,copy_nonoverlapping,write_bytes}
are now proper intrinsics. There are no debug assertions guarding against UB, and they cannot be coerced to function pointers.std::intrinsics::drop_in_place
!
) are now reported in dependenciesstd::ptr::copy_*
intrinsics also perform the static self-init checksextern "C"
functions on thewasm32-unknown-unknown
target now have a standards compliant ABIInternal 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.
rustc-dev
componentConfiguration
📅 Schedule: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles.
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.