This repository has been archived by the owner on Jul 3, 2023. It is now read-only.
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.67.1
1.70.0
(+4)Release Notes
rust-lang/rust
v1.67.1
Compare Source
===========================
clippy::uninlined_format_args
to pedantic.v1.67.0
Compare Source
==========================
Language
Sized
predicates coinductive, allowing cycles.#[must_use]
annotations onasync fn
also affect theFuture::Output
.cfg(FALSE)
.Compiler
C
orcdecl
.verbatim
.Added, updated, and removed targets:
powerpc64-ibm-aix
.mipsel-sony-psx
.no_std
targets for the QNX Neutrino RTOS,aarch64-unknown-nto-qnx710
andx86_64-pc-nto-qnx710
.aarch64-unknown-uefi
,i686-unknown-uefi
, andx86_64-unknown-uefi
.linuxkernel
targets (not used by the actual kernel).Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
crossbeam-channel
intostd::sync::mpsc
.Eq
andHash
forControlFlow
.compiler_builtins
with-C panic=abort
.Stabilized APIs
{integer}::checked_ilog
{integer}::checked_ilog2
{integer}::checked_ilog10
{integer}::ilog
{integer}::ilog2
{integer}::ilog10
NonZeroU*::ilog2
NonZeroU*::ilog10
NonZero*::BITS
These APIs are now stable in const contexts:
char::from_u32
char::from_digit
char::to_digit
core::char::from_u32
core::char::from_digit
Compatibility Notes
repr(Rust)
types now groups m*2^n-sized fields withequivalently aligned ones.
This is intended to be an optimization, but it is also known to increase type
sizes in a few cases for the placement of enum tags. As a reminder, the layout
of
repr(Rust)
types is an implementation detail, subject to change.This makes it consistent with the rest of floating point formatting that
rounds ties toward even digits.
&&
and||
will now drop temporaries from their sub-expressions inevaluation order, left-to-right.
Previously, it was "twisted" such that the first expression dropped its
temporaries last, after all of the other expressions dropped in order.
This has been a future-compatibility warning since 1.20.0.
-export-dynamic
towasm-ld
.main
is now mangled as__main_void
onwasm32-wasi
.with the same index URL.
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.66.1
Compare Source
===========================
v1.66.0
Compare Source
==========================
Language
repr(Int)
enumsmust_use
onimpl Trait
for supertraitsThis makes
impl ExactSizeIterator
respect the existing#[must_use]
annotation onIterator
...=X
in patternsclippy::for_loops_over_fallibles
lint into rustcsym
operands in inline assemblyThis is a soundness fix which may break code that was erroneously relying on this behavior.
Compiler
information on Rust's tiered platform support.
Libraries
#[derive(Default)]
on a generic#[default]
enum adding unnecessaryDefault
boundsStabilized APIs
proc_macro::Span::source_text
uX::{checked_add_signed, overflowing_add_signed, saturating_add_signed, wrapping_add_signed}
iX::{checked_add_unsigned, overflowing_add_unsigned, saturating_add_unsigned, wrapping_add_unsigned}
iX::{checked_sub_unsigned, overflowing_sub_unsigned, saturating_sub_unsigned, wrapping_sub_unsigned}
BTreeSet::{first, last, pop_first, pop_last}
BTreeMap::{first_key_value, last_key_value, first_entry, last_entry, pop_first, pop_last}
AsFd
implementations for stdio lock types on WASI.impl TryFrom<Vec<T>> for Box<[T; N]>
core::hint::black_box
Duration::try_from_secs_{f32,f64}
Option::unzip
std::os::fd
Rustdoc
Cargo
cargo remove
to remove dependencies from Cargo.tomlcargo publish
now waits for the new version to be downloadable before exitingSee detailed release notes for more.
Compatibility Notes
ProceduralMasquerade
hack to older versions ofrental
__heap_base
and__data_end
on wasm32-wasi.__wasm_init_memory
on WebAssembly.__tls_*
on wasm32-unknown-unknown.libresolv
in libstd on Darwinlibstd
no longer pull inlibiconv.dylib
on Darwin)This is a soundness fix which may break code that was erroneously relying on this behavior.
order_dependent_trait_objects
show up in future-breakage reportsInternal 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.65.0
Compare Source
==========================
Language
as
casts of enums with#[non_exhaustive]
variantslet else
let_underscore_drop
andlet_underscore_lock
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.lld
. For more information, see issue 102754.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 - "before 3am on the first day of the month" (UTC), 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.