Announcement ID: | SUSE-RU-2023:2978-1 |
---|---|
Rating: | moderate |
References: |
|
Affected Products: |
|
An update that contains one feature can now be installed.
This update for rust and rust1.71 fixes the following issues:
This update ships rust1.71.
raw-dylib
, link_ordinal
, import_name_type
and -Cdlltool
.clippy::{drop,forget}_{ref,copy}
lints.Drop
impl compatibilityPlaceMention
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][platform-support-doc] for more information on Rust's tiered platform support.
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.CStr::is_empty
](https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#method.is_empty)BuildHasher::hash_one
](https://doc.rust-lang.org/stable/std/hash/trait.BuildHasher.html#method.hash_one)NonZeroI*::is_positive
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.is_positive)NonZeroI*::is_negative
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.is_negative)NonZeroI*::checked_neg
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.checked_neg)NonZeroI*::overflowing_neg
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.overflowing_neg)NonZeroI*::saturating_neg
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.saturating_neg)NonZeroI*::wrapping_neg
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#method.wrapping_neg)Neg for NonZeroI*
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#impl-Neg-for-NonZeroI32)Neg for &NonZeroI*
](https://doc.rust-lang.org/stable/std/num/struct.NonZeroI32.html#impl-Neg-for-%26NonZeroI32)From<[T; N]> for (T...)
](https://doc.rust-lang.org/stable/std/primitive.array.html#impl-From%3C%5BT;+1%5D%3E-for-(T,))
(array to N-tuple for N in 1..=12)From<(T...)> for [T; N]
](https://doc.rust-lang.org/stable/std/primitive.array.html#impl-From%3C(T,)%3E-for-%5BT;+1%5D)
(N-tuple to array for N in 1..=12)windows::io::AsHandle for Box<T>
](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsHandle.html#impl-AsHandle-for-Box%3CT%3E)windows::io::AsHandle for Rc<T>
](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsHandle.html#impl-AsHandle-for-Rc%3CT%3E)windows::io::AsHandle for Arc<T>
](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsHandle.html#impl-AsHandle-for-Arc%3CT%3E)windows::io::AsSocket for Box<T>
](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsSocket.html#impl-AsSocket-for-Box%3CT%3E)windows::io::AsSocket for Rc<T>
](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsSocket.html#impl-AsSocket-for-Rc%3CT%3E)windows::io::AsSocket for Arc<T>
](https://doc.rust-lang.org/stable/std/os/windows/io/trait.AsSocket.html#impl-AsSocket-for-Arc%3CT%3E)These APIs are now stable in const contexts:
<*const T>::read
](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read)<*const T>::read_unaligned
](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read_unaligned)<*mut T>::read
](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read-1)<*mut T>::read_unaligned
](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.read_unaligned-1)ptr::read
](https://doc.rust-lang.org/stable/std/ptr/fn.read.html)ptr::read_unaligned
](https://doc.rust-lang.org/stable/std/ptr/fn.read_unaligned.html)<[T]>::split_at
](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.split_at)Cargo.toml
.workspace_default_members
to the output of cargo metadata
.cargo add
now considers rust-version
when selecting packages.cargo new
/cargo init
.rustdoc::unescaped_backticks
lint for broken inline code.~~old~~
vs. ~new~
)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.
To install this SUSE Moderate update use the SUSE recommended
installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:
zypper in -t patch SUSE-2023-2978=1 openSUSE-SLE-15.4-2023-2978=1
zypper in -t patch openSUSE-SLE-15.5-2023-2978=1
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2023-2978=1
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP5-2023-2978=1