release notes
release notes
Published 1/26/2023
MinorContains breaking changes[blocked]
Sized predicates coinductive, allowing cycles.#[must_use] annotations on async fn also affect the Future::Output.cfg(FALSE).[blocked]
C or cdecl.verbatim.Added, updated, and removed targets:
powerpc64-ibm-aix.mipsel-sony-psx.no_std targets for the QNX Neutrino RTOS, aarch64-unknown-nto-qnx710 and x86_64-pc-nto-qnx710.aarch64-unknown-uefi, i686-unknown-uefi, and x86_64-unknown-uefi.linuxkernel targets (not used by the actual kernel).Refer to Rust's platform support page for more information on Rust's tiered platform support.
[blocked]
crossbeam-channel into std::sync::mpsc.Eq and Hash for ControlFlow.compiler_builtins with -C panic=abort.[blocked]
{integer}::checked_ilog{integer}::checked_ilog2{integer}::checked_ilog10{integer}::ilog{integer}::ilog2{integer}::ilog10NonZeroU*::ilog2NonZeroU*::ilog10NonZero*::BITSThese APIs are now stable in const contexts:
[blocked]
repr(Rust) types now groups m*2^n-sized fields with equivalently 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.&& and || will now drop temporaries from their sub-expressions in evaluation 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.-export-dynamic to wasm-ld.main is now mangled as __main_void on wasm32-wasi.[blocked]
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.
release notes
Published 1/26/2023
MinorContains breaking changes[blocked]
Sized predicates coinductive, allowing cycles.#[must_use] annotations on async fn also affect the Future::Output.cfg(FALSE).[blocked]
C or cdecl.verbatim.Added, updated, and removed targets:
powerpc64-ibm-aix.mipsel-sony-psx.no_std targets for the QNX Neutrino RTOS, aarch64-unknown-nto-qnx710 and x86_64-pc-nto-qnx710.aarch64-unknown-uefi, i686-unknown-uefi, and x86_64-unknown-uefi.linuxkernel targets (not used by the actual kernel).Refer to Rust's platform support page for more information on Rust's tiered platform support.
[blocked]
crossbeam-channel into std::sync::mpsc.Eq and Hash for ControlFlow.compiler_builtins with -C panic=abort.[blocked]
{integer}::checked_ilog{integer}::checked_ilog2{integer}::checked_ilog10{integer}::ilog{integer}::ilog2{integer}::ilog10NonZeroU*::ilog2NonZeroU*::ilog10NonZero*::BITSThese APIs are now stable in const contexts:
[blocked]
repr(Rust) types now groups m*2^n-sized fields with equivalently 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.&& and || will now drop temporaries from their sub-expressions in evaluation 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.-export-dynamic to wasm-ld.main is now mangled as __main_void on wasm32-wasi.[blocked]
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.
Empowering everyone to build reliable and efficient software.