Update dependency rust to v1.81.0 - autoclosed #776
Closed
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.79.0
->1.81.0
Release Notes
rust-lang/rust (rust)
v1.81.0
Compare Source
==========================
Language
extern "C"
functions.&
in elided self lifetimes.#[expect]
for lints (RFC 2383), like#[allow]
with a warning if the lint is not fulfilled.elided_lifetimes_in_associated_constant
to deny.offset_from
: always allow pointers to point to the same address.Compiler
-Cinline-threshold=...
.transmute
size checks.box_pointers
lint.no_std
Xtensa targets:xtensa-esp32-none-elf
,xtensa-esp32s2-none-elf
,xtensa-esp32s3-none-elf
std
Xtensa targets:xtensa-esp32-espidf
,xtensa-esp32s2-espidf
,xtensa-esp32s3-espidf
i686-unknown-redox
arm64ec-pc-windows-msvc
to Tier 2.loongarch64-unknown-linux-musl
to Tier 2 with host tools.wasm32-wasi
. (see compatibility note below)Libraries
PanicInfo
and std'sPanicInfo
. (see compatibility note below){Rc,Arc}::make_mut()
to unsized types.driftsort
and unstableipnsort
. Allslice::sort*
andslice::select_nth*
methods are expected to see significant performance improvements. See the research project for more details.create_dir_all
with respect to empty paths.Stabilized APIs
core::error
hint::assert_unchecked
fs::exists
AtomicBool::fetch_not
Duration::abs_diff
IoSlice::advance
IoSlice::advance_slices
IoSliceMut::advance
IoSliceMut::advance_slices
PanicHookInfo
PanicInfo::message
PanicMessage
These APIs are now stable in const contexts:
char::from_u32_unchecked
(function)char::from_u32_unchecked
(method)CStr::count_bytes
CStr::from_ptr
Cargo
.cargo_vcs_info.json
is always included, even when--allow-dirty
is passed.package.license-file
andpackage.readme
pointing to non-existent files during packaging.--release
/--debug
flag along with the--profile
flag.lib.plugin
key support inCargo.toml
. Rust plugin support has been deprecated for four years and was removed in 1.75.0.Compatibility Notes
Usage of the
wasm32-wasi
target will now issue a compiler warning and request users switch to thewasm32-wasip1
target instead. Both targets are the same,wasm32-wasi
is only being renamed, and this change to the WASI target is being done to enable removingwasm32-wasi
in January 2025.We have renamed
std::panic::PanicInfo
tostd::panic::PanicHookInfo
. The old name will continue to work as an alias, but will result in a deprecation warning starting in Rust 1.82.0.core::panic::PanicInfo
will remain unchanged, however, as this is now a different type.The reason is that these types have different roles:
std::panic::PanicHookInfo
is the argument to the panic hook in std context (where panics can have an arbitrary payload), whilecore::panic::PanicInfo
is the argument to the#[panic_handler]
in no_std context (where panics always carry a formatted message). Separating these types allows us to add more useful methods to these types, such asstd::panic::PanicHookInfo::payload_as_str()
andcore::panic::PanicInfo::message()
.The new sort implementations may panic if a type's implementation of
Ord
(or the given comparison function) does not implement a total order as the trait requires.Ord
's supertraits (PartialOrd
,Eq
, andPartialEq
) must also be consistent. The previous implementations would not "notice" any problem, but the new implementations have a good chance of detecting inconsistencies, throwing a panic rather than returning knowingly unsorted data.In very rare cases, a change in the internal evaluation order of the trait
solver may result in new fatal overflow errors.
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.
auto
CI job to check kernel builds.v1.80.1
Compare Source
===========================
dead_code
lint from 1.80.0v1.80.0
Compare Source
==========================
Language
exclusive_range_pattern
featureResult
in some scenariosCompiler
repr(packed(1))
for_loops_over_fallibles
lint to lint on fallibles behind references.-fuse-ld=lld
on CCs that don't support it...
) as a type in trait bounds-fuse-ld=lld
foo.into_iter()
resolving to&Box<[T]>: IntoIterator
Libraries
size_of
andsize_of_val
andalign_of
andalign_of_val
to the preludePathBuf::set_extension
would add a path separatorc_char
on AIX to use the correct typeoffset_of!
no longer returns a temporarystr.to_lowercase
correctlyDEFAULT_MIN_STACK_SIZE
to at least 64KiBStabilized APIs
impl Default for Rc<CStr>
impl Default for Rc<str>
impl Default for Rc<[T]>
impl Default for Arc<str>
impl Default for Arc<CStr>
impl Default for Arc<[T]>
impl IntoIterator for Box<[T]>
impl FromIterator<String> for Box<str>
impl FromIterator<char> for Box<str>
LazyCell
LazyLock
Duration::div_duration_f32
Duration::div_duration_f64
Option::take_if
Seek::seek_relative
BinaryHeap::as_slice
NonNull::offset
NonNull::byte_offset
NonNull::add
NonNull::byte_add
NonNull::sub
NonNull::byte_sub
NonNull::offset_from
NonNull::byte_offset_from
NonNull::read
NonNull::read_volatile
NonNull::read_unaligned
NonNull::write
NonNull::write_volatile
NonNull::write_unaligned
NonNull::write_bytes
NonNull::copy_to
NonNull::copy_to_nonoverlapping
NonNull::copy_from
NonNull::copy_from_nonoverlapping
NonNull::replace
NonNull::swap
NonNull::drop_in_place
NonNull::align_offset
<[T]>::split_at_checked
<[T]>::split_at_mut_checked
str::split_at_checked
str::split_at_mut_checked
str::trim_ascii
str::trim_ascii_start
str::trim_ascii_end
<[u8]>::trim_ascii
<[u8]>::trim_ascii_start
<[u8]>::trim_ascii_end
Ipv4Addr::BITS
Ipv4Addr::to_bits
Ipv4Addr::from_bits
Ipv6Addr::BITS
Ipv6Addr::to_bits
Ipv6Addr::from_bits
Vec::<[T; N]>::into_flattened
<[[T; N]]>::as_flattened
<[[T; N]]>::as_flattened_mut
These APIs are now stable in const contexts:
<[T]>::last_chunk
BinaryHeap::new
Cargo
-Zcheck-cfg
as always enabledcheck-cfg
lint config for theunexpected_cfgs
lintcargo update --precise <yanked>
Cargo.toml
when usingcargo add
cargo fix
on IPv6-only networksRustdoc
custom_code_classes_in_docs
featureCompatibility Notes
-
std::env::{set_var, remove_var}
can no longer be converted to safe function pointers and no longer implement theFn
family of traitsSelf
constructor from outer item is referenced in inner nested itemindirect_structural_match
andpointer_structural_match
lints into hard errorswhere_clause_object_safety
lint a regular object safety violationproc_macro_back_compat
lint into a hard error.std::sync::ReentrantLockGuard<T>
is no longerSync
ifT: !Sync
which meansstd::io::StdoutLock
andstd::io::StderrLock
are no longer SyncInternal 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.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 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.