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.64.0
->1.65.0
Release Notes
rust-lang/rust
v1.65.0
Compare Source
==========================
Language
as
casts of enums with#[non_exhaustive]
variantslet else
let_underscore_drop
,let_underscore_lock
, andlet_underscore_must_use
from Clippybreak
ing from arbitrary labeled blocks ("label-break-value")Usage of
MaybeUninit
is the correct way to work with uninitialized memory.Drop
impl on foreign ADTsCompiler
special_module_name
lint-C instrument-coverage
New targets:
information on Rust's tiered platform support.
Libraries
PartialEq::ne
in derive(PartialEq)BCRYPT_RNG_ALG_HANDLE
by defaultSystem
with direct system allocator callsstd::layout::Layout
size must not overflowisize::MAX
when rounded up toalign
This also changes the safety conditions on
Layout::from_size_align_unchecked
.Stabilized APIs
std::backtrace::Backtrace
Bound::as_ref
std::io::read_to_string
<*const T>::cast_mut
<*mut T>::cast_const
These APIs are now stable in const contexts:
<*const T>::offset_from
<*mut T>::offset_from
Cargo
This slightly optimizes job scheduling by Cargo, with typically small improvements on larger crate graph builds.
Compatibility Notes
std::layout::Layout
size must not overflowisize::MAX
when rounded up toalign
.This also changes the safety conditions on
Layout::from_size_align_unchecked
.PollFn
now only implementsUnpin
if the closure isUnpin
.This is a possible breaking change if users were relying on the blanket unpin implementation.
See discussion on the PR for details of why this change was made.
This is a backwards-incompatible change to the standard library's surface
area, but is unlikely to affect real world usage.
This behavior was unintentionally changed in 1.64.0, and this release reverts that change by making this an error again.
#![cfg_attr(..., crate_type = ...)]
to set the crate typeThis strengthens the forward compatibility lint deprecated_cfg_attr_crate_type_name to deny.
llvm-has-rust-patches
allows setting the build system to treat the LLVM as having Rust-specific patchesThis option may need to be set for distributions that are building Rust with a patched LLVM via
llvm-config
, not the built-in LLVM.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.
x.sh
andx.ps1
shell scriptsThis provides a 3-10% improvement in compiletimes for real world crates. See perf results.
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 this update again.
This PR has been generated by Mend Renovate. View repository job log here.