release notes
release notes
Published 7/13/2023
MinorContains new features[blocked]
raw-dylib, link_ordinal, import_name_type and -Cdlltool.clippy::{drop,forget}_{ref,copy} lints.Drop impl compatibility[blocked]
PlaceMention, making let _ = patterns more consistent with respect to the borrow checker.--print deployment-target flag for Apple targets.extern "C-unwind" and friends. The existing extern "C" etc. may change behavior for cross-language unwinding in a future release.*-linux-musl targets to 1.2.3, enabling time64 on 32-bit systems.debugger_visualizer for embedding metadata like Microsoft's Natvis.Self respect tuple constructor privacy.apple-m1 as the target CPU for aarch64-apple-darwin.x86_64h-apple-darwin target.loongarch64-unknown-linux-gnu to Tier 2 with host tools.Refer to Rust's platform support page for more information on Rust's tiered platform support.
[blocked]
Drop implementation, but panicking within a panic hook is now an immediate abort.From<&[T]> for Box<[T]> bound to T: Clone.T: Send bound in Error for mpsc::SendError<T> and TrySendError<T>.alloc::realloc to match Layout requirements that the size must not exceed isize::MAX.const {} syntax for std::thread_local. This syntax was stabilized in Rust 1.59, but not previously mentioned in release notes.[blocked]
CStr::is_emptyBuildHasher::hash_oneNonZeroI*::is_positiveNonZeroI*::is_negativeNonZeroI*::checked_negNonZeroI*::overflowing_negNonZeroI*::saturating_negNonZeroI*::wrapping_negNeg for NonZeroI*Neg for &NonZeroI*From<[T; N]> for (T...) (array to N-tuple for N in 1..=12)From<(T...)> for [T; N] (N-tuple to array for N in 1..=12)windows::io::AsHandle for Box<T>windows::io::AsHandle for Rc<T>windows::io::AsHandle for Arc<T>windows::io::AsSocket for Box<T>windows::io::AsSocket for Rc<T>windows::io::AsSocket for Arc<T>These APIs are now stable in const contexts:
<*const T>::read<*const T>::read_unaligned<*mut T>::read<*mut T>::read_unalignedptr::readptr::read_unaligned<[T]>::split_at[blocked]
Cargo.toml.workspace_default_members to the output of cargo metadata.cargo new/cargo init.[blocked]
rustdoc::unescaped_backticks lint for broken inline code.~~old~~ vs. ~new~)[blocked]
[blocked]
TypeId. Code that uses a constant TypeId in a pattern will potentially be broken. Known cases have already been fixed -- in particular, users of the log crate's kv_unstable feature should update to log v0.4.18 or later.sysroot crate to represent the standard library crates. This does not affect stable users, but may require adjustment in tools that build their own standard library.rustup. When Cargo detects it will run rustc pointing to a rustup proxy, it'll try bypassing the proxy and use the underlying binary directly. There are assumptions around the interaction with rustup and RUSTUP_TOOLCHAIN. However, it's not expected to affect normal users.RUSTUP_HOME and RUSTUP_TOOLCHAIN in the [env] configuration table. This is considered to be not a use case Cargo would like to support, since it will likely cause problems or lead to confusion.[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 7/13/2023
MinorContains new features[blocked]
raw-dylib, link_ordinal, import_name_type and -Cdlltool.clippy::{drop,forget}_{ref,copy} lints.Drop impl compatibility[blocked]
PlaceMention, making let _ = patterns more consistent with respect to the borrow checker.--print deployment-target flag for Apple targets.extern "C-unwind" and friends. The existing extern "C" etc. may change behavior for cross-language unwinding in a future release.*-linux-musl targets to 1.2.3, enabling time64 on 32-bit systems.debugger_visualizer for embedding metadata like Microsoft's Natvis.Self respect tuple constructor privacy.apple-m1 as the target CPU for aarch64-apple-darwin.x86_64h-apple-darwin target.loongarch64-unknown-linux-gnu to Tier 2 with host tools.Refer to Rust's platform support page for more information on Rust's tiered platform support.
[blocked]
Drop implementation, but panicking within a panic hook is now an immediate abort.From<&[T]> for Box<[T]> bound to T: Clone.T: Send bound in Error for mpsc::SendError<T> and TrySendError<T>.alloc::realloc to match Layout requirements that the size must not exceed isize::MAX.const {} syntax for std::thread_local. This syntax was stabilized in Rust 1.59, but not previously mentioned in release notes.[blocked]
CStr::is_emptyBuildHasher::hash_oneNonZeroI*::is_positiveNonZeroI*::is_negativeNonZeroI*::checked_negNonZeroI*::overflowing_negNonZeroI*::saturating_negNonZeroI*::wrapping_negNeg for NonZeroI*Neg for &NonZeroI*From<[T; N]> for (T...) (array to N-tuple for N in 1..=12)From<(T...)> for [T; N] (N-tuple to array for N in 1..=12)windows::io::AsHandle for Box<T>windows::io::AsHandle for Rc<T>windows::io::AsHandle for Arc<T>windows::io::AsSocket for Box<T>windows::io::AsSocket for Rc<T>windows::io::AsSocket for Arc<T>These APIs are now stable in const contexts:
<*const T>::read<*const T>::read_unaligned<*mut T>::read<*mut T>::read_unalignedptr::readptr::read_unaligned<[T]>::split_at[blocked]
Cargo.toml.workspace_default_members to the output of cargo metadata.cargo new/cargo init.[blocked]
rustdoc::unescaped_backticks lint for broken inline code.~~old~~ vs. ~new~)[blocked]
[blocked]
TypeId. Code that uses a constant TypeId in a pattern will potentially be broken. Known cases have already been fixed -- in particular, users of the log crate's kv_unstable feature should update to log v0.4.18 or later.sysroot crate to represent the standard library crates. This does not affect stable users, but may require adjustment in tools that build their own standard library.rustup. When Cargo detects it will run rustc pointing to a rustup proxy, it'll try bypassing the proxy and use the underlying binary directly. There are assumptions around the interaction with rustup and RUSTUP_TOOLCHAIN. However, it's not expected to affect normal users.RUSTUP_HOME and RUSTUP_TOOLCHAIN in the [env] configuration table. This is considered to be not a use case Cargo would like to support, since it will likely cause problems or lead to confusion.[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.