SUSE-RU-2025:1350-1: moderate: Recommended update for rust, rust1.86
SLE-UPDATES
null at suse.de
Mon Apr 21 08:30:04 UTC 2025
# Recommended update for rust, rust1.86
Announcement ID: SUSE-RU-2025:1350-1
Release Date: 2025-04-20T17:59:05Z
Rating: moderate
References:
* jsc#PED-11411
* jsc#SLE-18626
Affected Products:
* Development Tools Module 15-SP6
* openSUSE Leap 15.3
* openSUSE Leap 15.4
* openSUSE Leap 15.5
* openSUSE Leap 15.6
* SUSE Enterprise Storage 7.1
* SUSE Linux Enterprise Desktop 15 SP6
* SUSE Linux Enterprise High Performance Computing 15 SP3
* SUSE Linux Enterprise High Performance Computing 15 SP4
* SUSE Linux Enterprise High Performance Computing 15 SP5
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP3
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP4
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP5
* SUSE Linux Enterprise Real Time 15 SP6
* SUSE Linux Enterprise Server 15 SP3
* SUSE Linux Enterprise Server 15 SP3 LTSS
* SUSE Linux Enterprise Server 15 SP4
* SUSE Linux Enterprise Server 15 SP4 LTSS
* SUSE Linux Enterprise Server 15 SP5
* SUSE Linux Enterprise Server 15 SP5 LTSS
* SUSE Linux Enterprise Server 15 SP6
* SUSE Linux Enterprise Server for SAP Applications 15 SP3
* SUSE Linux Enterprise Server for SAP Applications 15 SP4
* SUSE Linux Enterprise Server for SAP Applications 15 SP5
* SUSE Linux Enterprise Server for SAP Applications 15 SP6
An update that contains two features can now be installed.
## Description:
This update for rust, rust1.86 fixes the following issues:
Changes in rust1.86:
# Version 1.86.0 (2025-04-03)
## Language
* Stabilize upcasting trait objects to supertraits.
* Allow safe functions to be marked with the `#[target_feature]` attribute.
* The `missing_abi` lint now warns-by-default.
* Rust now lints about double negations, to catch cases that might have
intended to be a prefix decrement operator (`--x`) as written in other
languages. This was previously a clippy lint, `clippy::double_neg`, and is
[now available directly in Rust as `double_negations`.
* More pointers are now detected as definitely not-null based on their
alignment in const eval.
* Empty `repr()` attribute applied to invalid items are now correctly
rejected.
* Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer accepted
in more places than intended.
## Compiler
* Debug-assert that raw pointers are non-null on access.
* Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2` to match
Cargo's defaults.
* Fix emission of `overflowing_literals` under certain macro environments.
## Platform Support
* Replace `i686-unknown-redox` target with `i586-unknown-redox`.
* Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium 4.
* New tier 3 targets:
* `{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock` For supporting Neutrino QNX
7.1 with `io-socket` network stack.
* `{aarch64-unknown,x86_64-pc}-nto-qnx800` For supporting Neutrino QNX 8.0
(`no_std`-only).
* `{x86_64,i686}-win7-windows-gnu` Intended for backwards compatibility with
Windows 7. `{x86_64,i686}-win7-windows-msvc` are the Windows MSVC
counterparts that already exist as Tier 3 targets.
* `amdgcn-amd-amdhsa`
* `x86_64-pc-cygwin`
* `{mips,mipsel}-mti-none-elf` Initial bare-metal support.
* `m68k-unknown-none-elf`
* `armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and
`thumbv7a-nuttx-{eabi,eabihf}`
Refer to Rust's platform support page for more information on Rust's tiered
platform support.
## Libraries
* The type of `FromBytesWithNulError` in `CStr::from_bytes_with_nul(bytes:
&[u8]) -> Result<&Self, FromBytesWithNulError>` was changed
from an opaque struct to an enum, allowing users to examine why the
conversion failed.
* Remove `RustcDecodable` and `RustcEncodable`.
* Deprecate libtest's `--logfile` option.
* On recent versions of Windows, `std::fs::remove_file` will now remove read-
only files.
## Stabilized APIs
* `{float}::next_down` https://doc.rust-
lang.org/stable/std/primitive.f64.html#method.next_down
* `{float}::next_up` https://doc.rust-
lang.org/stable/std/primitive.f64.html#method.next_up
* `<[_]>::get_disjoint_mut` https://doc.rust-
lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut
* `<[_]>::get_disjoint_unchecked_mut` https://doc.rust-
lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut
* `slice::GetDisjointMutError` https://doc.rust-
lang.org/stable/std/slice/enum.GetDisjointMutError.html
* `HashMap::get_disjoint_mut` https://doc.rust-
lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut
* `HashMap::get_disjoint_unchecked_mut` https://doc.rust-
lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut
* `NonZero::count_ones` https://doc.rust-
lang.org/stable/std/num/struct.NonZero.html#method.count_ones
* `Vec::pop_if` https://doc.rust-
lang.org/std/vec/struct.Vec.html#method.pop_if
* `sync::Once::wait` https://doc.rust-
lang.org/stable/std/sync/struct.Once.html#method.wait
* `sync::Once::wait_force` https://doc.rust-
lang.org/stable/std/sync/struct.Once.html#method.wait_force
* `sync::OnceLock::wait` https://doc.rust-
lang.org/stable/std/sync/struct.OnceLock.html#method.wait
These APIs are now stable in const contexts:
* `hint::black_box` https://doc.rust-
lang.org/stable/std/hint/fn.black_box.html
* `io::Cursor::get_mut` https://doc.rust-
lang.org/stable/std/io/struct.Cursor.html#method.get_mut
* `io::Cursor::set_position` https://doc.rust-
lang.org/stable/std/io/struct.Cursor.html#method.set_position
* `str::is_char_boundary` https://doc.rust-
lang.org/stable/std/primitive.str.html#method.is_char_boundary
* `str::split_at` https://doc.rust-
lang.org/stable/std/primitive.str.html#method.split_at
* `str::split_at_checked` https://doc.rust-
lang.org/stable/std/primitive.str.html#method.split_at_checked
* `str::split_at_mut` https://doc.rust-
lang.org/stable/std/primitive.str.html#method.split_at_mut
* `str::split_at_mut_checked` https://doc.rust-
lang.org/stable/std/primitive.str.html#method.split_at_mut_checked
## Cargo
* When merging, replace rather than combine configuration keys that refer to a
program path and its arguments.
* Error if both `--package` and `--workspace` are passed but the requested
package is missing. This was previously silently ignored, which was
considered a bug since missing packages should be reported.
* Deprecate the token argument in `cargo login` to avoid shell history leaks.
* Simplify the implementation of `SourceID` comparisons. This may potentially
change behavior if the canonicalized URL compares differently in alternative
registries.
## Rustdoc
* Add a sans-serif font setting.
## Compatibility Notes
* The `wasm_c_abi` future compatibility warning is now a hard error. Users of
`wasm-bindgen` should upgrade to at least version 0.2.89, otherwise
compilation will fail.
* Remove long-deprecated no-op attributes `#![no_start]` and `#![crate_id]`.
* The future incompatibility lint `cenum_impl_drop_cast` has been made into a
hard error. This means it is now an error to cast a field-less enum to an
integer if the enum implements `Drop`.
* SSE2 is now required for "i686" 32-bit x86 hard-float targets; disabling it
causes a warning that will become a hard error eventually. To compile for
pre-SSE2 32-bit x86, use a "i586" target instead.
## 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.
* Build the rustc on AArch64 Linux with ThinLTO + PGO. The ARM 64-bit compiler
(AArch64) on Linux is now optimized with ThinLTO and PGO, similar to the
optimizations we have already performed for the x86-64 compiler on Linux.
This should make it up to 30% faster.
## Patch Instructions:
To install this SUSE update use the SUSE recommended installation methods like
YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:
* openSUSE Leap 15.6
zypper in -t patch openSUSE-SLE-15.6-2025-1350=1
* Development Tools Module 15-SP6
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP6-2025-1350=1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP3
zypper in -t patch SUSE-SLE-Product-HPC-15-SP3-LTSS-2025-1350=1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4
zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-ESPOS-2025-1350=1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP4
zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-LTSS-2025-1350=1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5
zypper in -t patch SUSE-SLE-Product-HPC-15-SP5-ESPOS-2025-1350=1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP5
zypper in -t patch SUSE-SLE-Product-HPC-15-SP5-LTSS-2025-1350=1
* SUSE Linux Enterprise Server 15 SP3 LTSS
zypper in -t patch SUSE-SLE-Product-SLES-15-SP3-LTSS-2025-1350=1
* SUSE Linux Enterprise Server 15 SP4 LTSS
zypper in -t patch SUSE-SLE-Product-SLES-15-SP4-LTSS-2025-1350=1
* SUSE Linux Enterprise Server 15 SP5 LTSS
zypper in -t patch SUSE-SLE-Product-SLES-15-SP5-LTSS-2025-1350=1
* SUSE Linux Enterprise Server for SAP Applications 15 SP3
zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP3-2025-1350=1
* SUSE Linux Enterprise Server for SAP Applications 15 SP4
zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP4-2025-1350=1
* SUSE Linux Enterprise Server for SAP Applications 15 SP5
zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP5-2025-1350=1
* SUSE Enterprise Storage 7.1
zypper in -t patch SUSE-Storage-7.1-2025-1350=1
* openSUSE Leap 15.3
zypper in -t patch SUSE-2025-1350=1
* openSUSE Leap 15.4
zypper in -t patch SUSE-2025-1350=1
* openSUSE Leap 15.5
zypper in -t patch SUSE-2025-1350=1
## Package List:
* openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64)
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150500.27.36.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150500.27.36.1
* openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64 nosrc)
* rust1.86-1.86.0-150300.7.5.1
* openSUSE Leap 15.6 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64)
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150500.27.36.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150500.27.36.1
* Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64 nosrc)
* rust1.86-1.86.0-150300.7.5.1
* Development Tools Module 15-SP6 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP3 (aarch64
x86_64)
* cargo-1.86.0-150300.21.52.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150300.21.52.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP3 (aarch64 nosrc
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP3 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (aarch64
x86_64)
* rust-1.86.0-150400.24.42.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150400.24.42.1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (aarch64 nosrc
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (aarch64
x86_64)
* rust-1.86.0-150400.24.42.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150400.24.42.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (aarch64 nosrc
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5 (aarch64
x86_64)
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150500.27.36.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150500.27.36.1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5 (aarch64 nosrc
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing ESPOS 15 SP5 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP5 (aarch64
x86_64)
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150500.27.36.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150500.27.36.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP5 (aarch64 nosrc
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise High Performance Computing LTSS 15 SP5 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server 15 SP3 LTSS (aarch64 ppc64le s390x x86_64)
* cargo-1.86.0-150300.21.52.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150300.21.52.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server 15 SP3 LTSS (aarch64 ppc64le s390x x86_64
nosrc)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server 15 SP3 LTSS (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server 15 SP4 LTSS (aarch64 ppc64le s390x x86_64)
* rust-1.86.0-150400.24.42.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150400.24.42.1
* SUSE Linux Enterprise Server 15 SP4 LTSS (aarch64 ppc64le s390x x86_64
nosrc)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server 15 SP4 LTSS (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server 15 SP5 LTSS (aarch64 ppc64le s390x x86_64)
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150500.27.36.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150500.27.36.1
* SUSE Linux Enterprise Server 15 SP5 LTSS (aarch64 ppc64le s390x x86_64
nosrc)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server 15 SP5 LTSS (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP3 (ppc64le x86_64)
* cargo-1.86.0-150300.21.52.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150300.21.52.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP3 (nosrc ppc64le
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP3 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP4 (ppc64le x86_64)
* rust-1.86.0-150400.24.42.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150400.24.42.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP4 (nosrc ppc64le
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP4 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP5 (ppc64le x86_64)
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150500.27.36.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* cargo-1.86.0-150500.27.36.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP5 (nosrc ppc64le
x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Linux Enterprise Server for SAP Applications 15 SP5 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* SUSE Enterprise Storage 7.1 (aarch64 x86_64)
* cargo-1.86.0-150300.21.52.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150300.21.52.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* SUSE Enterprise Storage 7.1 (aarch64 nosrc x86_64)
* rust1.86-1.86.0-150300.7.5.1
* SUSE Enterprise Storage 7.1 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586)
* cargo-1.86.0-150300.21.52.1
* cargo1.86-debuginfo-1.86.0-150300.7.5.1
* rust-1.86.0-150300.21.52.1
* rust1.86-debuginfo-1.86.0-150300.7.5.1
* cargo1.86-1.86.0-150300.7.5.1
* openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586 nosrc)
* rust1.86-1.86.0-150300.7.5.1
* openSUSE Leap 15.3 (noarch)
* rust1.86-src-1.86.0-150300.7.5.1
* openSUSE Leap 15.3 (nosrc)
* rust1.86-test-1.86.0-150300.7.5.1
* openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 i586)
* cargo-1.86.0-150400.24.42.1
* rust-1.86.0-150400.24.42.1
* openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
* cargo-1.86.0-150500.27.36.1
* rust-1.86.0-150500.27.36.1
## References:
* https://jira.suse.com/browse/PED-11411
* https://jira.suse.com/browse/SLE-18626
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.suse.com/pipermail/sle-updates/attachments/20250421/ddecb9fc/attachment.htm>
More information about the sle-updates
mailing list