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.85.1
->1.86.0
1.85.1
->1.86.0
Release Notes
rust-lang/rust (rust)
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.
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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.