-
Notifications
You must be signed in to change notification settings - Fork 45
chore(deps): update dependency rust to v1.89.0 #196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/rust-1.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
8d044cf
to
70328b6
Compare
70328b6
to
3b162c2
Compare
3b162c2
to
c98c33a
Compare
c98c33a
to
8d16b63
Compare
8d16b63
to
a6a38e5
Compare
a6a38e5
to
9134baf
Compare
9134baf
to
f319cd3
Compare
f319cd3
to
6a06eb7
Compare
6a06eb7
to
4de1a81
Compare
4de1a81
to
7560f4d
Compare
7560f4d
to
1d545e5
Compare
1d545e5
to
9bd906a
Compare
9bd906a
to
4ae2b3a
Compare
4ae2b3a
to
cb40ea8
Compare
cb40ea8
to
b843b2f
Compare
b843b2f
to
904c7ae
Compare
16a571c
to
ad22085
Compare
ad22085
to
3091b73
Compare
3091b73
to
6d38c3b
Compare
6d38c3b
to
1213bbc
Compare
1213bbc
to
f1e8cef
Compare
f1e8cef
to
d38d20d
Compare
9a45590
to
2f45c31
Compare
2f45c31
to
0d6fb7d
Compare
0d6fb7d
to
45d0165
Compare
45d0165
to
ce83411
Compare
ce83411
to
3f1db29
Compare
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:
Test plan: CI should pass with updated dependencies. No review required: this is an automated dependency update PR.
Release Notes
rust-lang/rust (rust)
v1.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
componentv1.88.0
Compare Source
==========================
Language
#![feature(let_chains)]
in the 2024 edition.This feature allows
&&
-chaininglet
statements insideif
andwhile
, allowing intermixture with boolean expressions. The patterns inside thelet
sub-expressions can be irrefutable or refutable.#![feature(naked_functions)]
.Naked functions allow writing functions with no compiler-generated epilogue and prologue, allowing full control over the generated assembly for a particular function.
#![feature(cfg_boolean_literals)]
.This allows using boolean literals as
cfg
predicates, e.g.#[cfg(true)]
and#[cfg(false)]
.#[bench]
attribute. Usage of#[bench]
without#![feature(custom_test_frameworks)]
already triggered a deny-by-default future-incompatibility lint since Rust 1.77, but will now become a hard error.dangerous_implicit_autorefs
lint against implicit autoref of raw pointer dereference.The lint will be bumped to deny-by-default in the next version of Rust.
invalid_null_arguments
lint to prevent invalid usage of null pointers.This lint is uplifted from
clippy::invalid_null_ptr_usage
.Compiler
-Cdwarf-version
for selecting the version of DWARF debug information to generate.Platform Support
i686-pc-windows-gnu
to Tier 2.Refer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
#[should_panic]
test failure message.[T; N]::from_fn
is generated in order of increasing indices., for those passing it a stateful closure.--nocapture
is deprecated in favor of the more consistent--no-capture
flag.{float}::NAN
is a quiet NaN.Stabilized APIs
Cell::update
impl Default for *const T
impl Default for *mut T
HashMap::extract_if
HashSet::extract_if
hint::select_unpredictable
proc_macro::Span::line
proc_macro::Span::column
proc_macro::Span::start
proc_macro::Span::end
proc_macro::Span::file
proc_macro::Span::local_file
<[T]>::as_chunks
<[T]>::as_chunks_mut
<[T]>::as_chunks_unchecked
<[T]>::as_chunks_unchecked_mut
<[T]>::as_rchunks
<[T]>::as_rchunks_mut
mod ffi::c_str
These previously stable APIs are now stable in const contexts:
NonNull<T>::replace
<*mut T>::replace
std::ptr::swap_nonoverlapping
Cell::replace
Cell::get
Cell::get_mut
Cell::from_mut
Cell::as_slice_of_cells
Cargo
zlib-rs
for gzip compression in rust codeRustdoc
ignore-*
attributes.--test-runtool
and--test-runtool-arg
CLI options to specify a program (like qemu) and its arguments to run a doctest.Compatibility Notes
tt
fragment specifier can often fix these macros.#[bench]
attribute. Usage of#[bench]
without#![feature(custom_test_frameworks)]
already triggered a deny-by-default future-incompatibility lint since Rust 1.77, but will now become a hard error.The borrow checker was overly permissive in some cases, allowing programs that shouldn't have compiled.
v1.87.0
Compare Source
==========================
Language
asm_goto
feature..EXPR
) after unary operators!
,-
, and*
.Self: Sized
bounds inimpl
s for unsized typesfeature(precise_capturing_in_traits)
allowinguse<...>
bounds on return positionimpl Trait
intrait
sCompiler
Platform Support
i586-pc-windows-msvc
targetRefer to Rust's platform support page
for more information on Rust's tiered platform support.
Libraries
Debug
impl of raw pointersVec::with_capacity
guarantees it allocates with the amount requested, even ifVec::capacity
returns a different number.std::arch
intrinsics which don't take pointer arguments can now be called from safe code if the caller has the appropriate target features already enabled (https://github.com/rust-lang/stdarch/pull/1714, https://github.com/rust-lang/stdarch/pull/1716, https://github.com/rust-lang/stdarch/pull/1717)env::home_dir
ControlFlow
as#[must_use]
assert_eq!
andvec!
now supportconst {...}
expressionsStabilized APIs
Vec::extract_if
vec::ExtractIf
LinkedList::extract_if
linked_list::ExtractIf
<[T]>::split_off
<[T]>::split_off_mut
<[T]>::split_off_first
<[T]>::split_off_first_mut
<[T]>::split_off_last
<[T]>::split_off_last_mut
String::extend_from_within
os_str::Display
OsString::display
OsStr::display
io::pipe
io::PipeReader
io::PipeWriter
impl From<PipeReader> for OwnedHandle
impl From<PipeWriter> for OwnedHandle
impl From<PipeReader> for Stdio
impl From<PipeWriter> for Stdio
impl From<PipeReader> for OwnedFd
impl From<PipeWriter> for OwnedFd
Box<MaybeUninit<T>>::write
impl TryFrom<Vec<u8>> for String
<*const T>::offset_from_unsigned
<*const T>::byte_offset_from_unsigned
<*mut T>::offset_from_unsigned
<*mut T>::byte_offset_from_unsigned
NonNull::offset_from_unsigned
NonNull::byte_offset_from_unsigned
<uN>::cast_signed
NonZero::<uN>::cast_signed
.<iN>::cast_unsigned
.NonZero::<iN>::cast_unsigned
.<uN>::is_multiple_of
<uN>::unbounded_shl
<uN>::unbounded_shr
<iN>::unbounded_shl
<iN>::unbounded_shr
<iN>::midpoint
<str>::from_utf8
<str>::from_utf8_mut
<str>::from_utf8_unchecked
<str>::from_utf8_unchecked_mut
These previously stable APIs are now stable in const contexts:
core::str::from_utf8_mut
<[T]>::copy_from_slice
SocketAddr::set_ip
SocketAddr::set_port
,SocketAddrV4::set_ip
SocketAddrV4::set_port
,SocketAddrV6::set_ip
SocketAddrV6::set_port
SocketAddrV6::set_flowinfo
SocketAddrV6::set_scope_id
char::is_digit
char::is_whitespace
<[[T; N]]>::as_flattened
<[[T; N]]>::as_flattened_mut
String::into_bytes
String::as_str
String::capacity
String::as_bytes
String::len
String::is_empty
String::as_mut_str
String::as_mut_vec
Vec::as_ptr
Vec::as_slice
Vec::capacity
Vec::len
Vec::is_empty
Vec::as_mut_slice
Vec::as_mut_ptr
Cargo
Compatibility Notes
#![crate_name]
attributeDebug
impl of raw pointers print metadata if presentdyn
types are no longer deduplicated..
inside of struct patterns (let Struct { #[attribute] .. }) =
ptr_cast_add_auto_to_object
lint into hard errorstd::arch
intrinsics are now safe to call in some contexts, there may now be newunused_unsafe
warnings in existing codebases.width
andprecision
formatting options to 16 bits on all targetsControlFlow
as#[must_use]
advapi32
, except on win7. Code such as C libraries that were relying on this assumption may need to explicitly link advapi32.cfg(true)
attributes.tt
fragment specifier can often fix these macros.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.
v1.86.0
Compare Source
==========================
Language
#[target_feature]
attribute.missing_abi
lint now warns-by-default.--x
) as written in other languages. This was previously a clippy lint,clippy::double_neg
, and is now available directly in Rust asdouble_negations
.repr()
attribute applied to invalid items are now correctly rejected.#![test]
and#![rustfmt::skip]
are no longer accepted in more places than intended.Compiler
-O
to mean-C opt-level=3
instead of-C opt-level=2
to match Cargo's defaults.overflowing_literals
under certain macro environments.Platform Support
i686-unknown-redox
target withi586-unknown-redox
.i686-unknown-hurd-gnu
to Pentium 4.{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock
.For supporting Neutrino QNX 7.1 with
io-socket
network stack.{aarch64-unknown,x86_64-pc}-nto-qnx800
.For supporting Neutrino QNX 8.0 (
no_std
-only).{x86_64,i686}-win7-windows-gnu
.Intended for backwards compatibility with Windows 7.
{x86_64,i686}-win7-windows-msvc
are the Windows MSVC counterparts that already exist as Tier 3 targets.amdgcn-amd-amdhsa
.x86_64-pc-cygwin
.{mips,mipsel}-mti-none-elf
.Initial bare-metal support.
m68k-unknown-none-elf
.armv7a-nuttx-{eabi,eabihf}
,aarch64-unknown-nuttx
, andthumbv7a-nuttx-{eabi,eabihf}
.Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
FromBytesWithNulError
inCStr::from_bytes_with_nul(bytes: &[u8]) -> Result<&Self, FromBytesWithNulError>
was changed from an opaque struct to an enum, allowing users to examine why the conversion failed.RustcDecodable
andRustcEncodable
.--logfile
option.std::fs::remove_file
will now remove read-only files.Stabilized APIs
{float}::next_down
{float}::next_up
<[_]>::get_disjoint_mut
<[_]>::get_disjoint_unchecked_mut
slice::GetDisjointMutError
HashMap::get_disjoint_mut
HashMap::get_disjoint_unchecked_mut
NonZero::count_ones
Vec::pop_if
sync::Once::wait
sync::Once::wait_force
sync::OnceLock::wait
These APIs are now stable in const contexts:
hint::black_box
io::Cursor::get_mut
io::Cursor::set_position
str::is_char_boundary
str::split_at
str::split_at_checked
str::split_at_mut
str::split_at_mut_checked
Cargo
--package
and--workspace
are passed but the requested package is missing. This was previously silently ignored, which was considered a bug since missing packages should be reported.cargo login
to avoid shell history leaks.SourceID
comparisons. This may potentially change behavior if the canonicalized URL compares differently in alternative registries.Rustdoc
Compatibility Notes
wasm_c_abi
future compatibility warning is now a hard error.Users of
wasm-bindgen
should upgrade to at least version 0.2.89, otherwise compilation will fail.#![no_start]
and#![crate_id]
.cenum_impl_drop_cast
has been made into a hard error. This means it is now an error to cast a field-less enum to an integer if the enum implementsDrop
.To compile for pre-SSE2 32-bit x86, use a "i586" target instead.
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.
The ARM 64-bit compiler (AArch64) on Linux is now optimized with ThinLTO and PGO, similar to the optimizations we have already performed for the x86-64 compiler on Linux. This should make it up to 30% faster.
v1.85.1
Compare Source
==========================
target_feature
checks when generating docs.std::fs::rename
on Windows 10, version 1607.cc
to fix custom targets.v1.85.0
Compare Source
==========================
Language
See the edition guide for more details.
See RFC 3668 for more details.
#[diagnostic::do_not_recommend]
unpredictable_function_pointer_comparisons
lint to warn against function pointer comparisons#[no_mangle]
and#[export_name]
attributes.Compiler
-Zpolymorphize
has been removed, see https://github.com/rust-lang/compiler-team/issues/810 for some background.Platform Support
powerpc64le-unknown-linux-musl
to tier 2 with host toolsRefer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
Panics in the standard library now have a leading
library/
in their pathstd::env::home_dir()
on Windows now ignores the non-standard$HOME
environment variableIt will be un-deprecated in a subsequent release.
Add
AsyncFn*
to the prelude in all editions.Stabilized APIs
BuildHasherDefault::new
ptr::fn_addr_eq
io::ErrorKind::QuotaExceeded
io::ErrorKind::CrossesDevices
{float}::midpoint
{integer}::midpoint
NonZeroU*::midpoint
std::iter::Extend
for tuples with arity 1 through 12FromIterator<(A, ...)>
for tuples with arity 1 through 12std::task::Waker::noop
These APIs are now stable in const contexts:
mem::size_of_val
mem::align_of_val
Layout::for_value
Layout::align_to
Layout::pad_to_align
Layout::extend
Layout::array
std::mem::swap
std::ptr::swap
NonNull::new
HashMap::with_hasher
HashSet::with_hasher
BuildHasherDefault::new
<float>::recip
<float>::to_degrees
<float>::to_radians
<float>::max
<float>::min
<float>::clamp
<float>::abs
<float>::signum
<float>::copysign
MaybeUninit::write
Cargo
CARGO_CFG_FEATURE
to build scriptsRustdoc
Compatibility Notes
rustc
no longer treats thetest
cfg as a well known check-cfg, instead it is up to the build systems and users of--check-cfg
[^check-cfg] to set it as a well known cfg using--check-cfg=cfg(test)
.This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests.
Cargo (for now) unconditionally sets the
test
cfg as a well known cfg.[^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html
Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses
std::env::home_dir()
has been deprecated for years, because it can give surprising results in some Windows configurations if theHOME
environment variable is set (which is not the normal configuration on Windows). We had previously avoided changing its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix. A subsequent release will remove the deprecation for this function.Make
core::ffi::c_char
signedness more closely match that of the platform-defaultchar
This changed
c_char
from ani8
tou8
or vice versa on many Tier 2 and 3targets (mostly Arm and RISC-V embedded targets). The new definition may
result in compilation failures but fixes compatibility issues with C.
The
libc
crate matches this change as of its 0.2.169 release.When compiling a nested
macro_rules
macro from an external crate, the content of the innermacro_rules
is now built with the edition of the external crate, not the local crate.Increase
sparcv9-sun-solaris
andx86_64-pc-solaris
Solaris baseline to 11.4.Show
abi_unsupported_vector_types
lint in future breakage reportsError if multiple super-trait instantiations of
dyn Trait
need associated types to be specified but only one is providedChange
powerpc64-ibm-aix
defaultcodemodel
to largeInternal 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.
x86_64-unknown-linux-gnu
with LTO for C/C++ code (e.g.,jemalloc
)v1.84.1
Compare Source
==========================
llvm-objcopy
if llvm tools are enabled.v1.84.0
Compare Source
==========================
Language
#[deny]
inside#[forbid]
as a no-op-Ctarget-feature
is used to toggle features that can lead to unsoundness due to ABI mismatches/
as the path separator forinclude!()
in all cases on Windowsraw (const|mut)
) of a deref of a pointer (*ptr
) is now safeextern "C"
functionCompiler
--print host-tuple
flag to print the host target tuple and affirm the "target tuple" terminology over "target triple"loongarch64-unknown-linux-{musl,ohos}
unexpected_cfgs
lint to also warn in external macrosmultivalue
,reference-types
, andtail-call
target featureswasm32v1-none
targetLibraries
From<&mut {slice}>
forBox/Rc/Arc<{slice}>
<float>::copysign
,<float>::abs
,<float>::signum
tocore
LowerExp
andUpperExp
implementations toNonZero
FromStr
forCString
andTryFrom<CString>
forString
std::os::darwin
has been made publicStabilized APIs
Ipv6Addr::is_unique_local
Ipv6Addr::is_unicast_link_local
core::ptr::with_exposed_provenance
core::ptr::with_exposed_provenance_mut
Configuration
📅 Schedule: Branch creation - "on the 1st through 7th day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 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 was generated by Mend Renovate. View the repository job log.