SUSE-RU-2025:39484-1: moderate: Recommended update for rust, rust1.88

SLE-UPDATES null at suse.de
Thu Jul 17 16:30:01 UTC 2025



# Recommended update for rust, rust1.88

Announcement ID: SUSE-RU-2025:39484-1  
Release Date: 2025-07-17T15:06:50Z  
Rating: moderate  
References:

  * jsc#PED-11411
  * jsc#SLE-18626

  
Affected Products:

  * Development Tools Module 15-SP6
  * Development Tools Module 15-SP7
  * openSUSE Leap 15.3
  * openSUSE Leap 15.4
  * openSUSE Leap 15.5
  * openSUSE Leap 15.6
  * SUSE Linux Enterprise Desktop 15 SP6
  * SUSE Linux Enterprise Desktop 15 SP7
  * SUSE Linux Enterprise High Performance Computing 15 SP4
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4
  * SUSE Linux Enterprise Real Time 15 SP6
  * SUSE Linux Enterprise Real Time 15 SP7
  * SUSE Linux Enterprise Server 15 SP4
  * SUSE Linux Enterprise Server 15 SP4 LTSS
  * SUSE Linux Enterprise Server 15 SP6
  * SUSE Linux Enterprise Server 15 SP7
  * SUSE Linux Enterprise Server for SAP Applications 15 SP4
  * SUSE Linux Enterprise Server for SAP Applications 15 SP6
  * SUSE Linux Enterprise Server for SAP Applications 15 SP7

  
  
An update that contains two features can now be installed.

## Description:

This update for rust fixes the following issues:

  * Update to version 1.88.0 - for details see the rust1.88 package

# Version 1.88.0 (2025-06-26)

Language:

  * Stabilize `#![feature(let_chains)]` in the 2024 edition. This feature allows
    `&&`-chaining `let` statements inside `if` and `while`, allowing
    intermixture with boolean expressions. The patterns inside the `let` sub-
    expressions can be irrefutable or refutable.
  * Stabilize `#![feature(naked_functions)]`. Naked functions allow writing
    functions with no compiler-generated epilogue and prologue, allowing full
    control over the generated assembly for a particular function.
  * Stabilize `#![feature(cfg_boolean_literals)]`. This allows using boolean
    literals as `cfg` predicates, e.g. `#[cfg(true)]` and `#[cfg(false)]`.
  * Fully de-stabilize the `#[bench]` attribute. Usage of `#[bench]` without
    `#![feature(custom_test_frameworks)]` already triggered a deny-by-default
    future-incompatibility lint since Rust 1.77, but will now become a hard
    error.
  * Add warn-by-default `dangerous_implicit_autorefs` lint against implicit
    autoref of raw pointer dereference. The lint will be bumped to deny-by-
    default in the next version of Rust.
  * Add `invalid_null_arguments` lint to prevent invalid usage of null pointers.
    This lint is uplifted from `clippy::invalid_null_ptr_usage`.
  * Change trait impl candidate preference for builtin impls and trivial where-
    clauses.
  * Check types of generic const parameter defaults

Compiler:

  * Stabilize `-Cdwarf-version` for selecting the version of DWARF debug
    information to generate.

Platform Support:

  * Demote `i686-pc-windows-gnu` to Tier 2.

Refer to Rust's platform support page for more information on Rust's tiered
platform support.

Libraries:

  * Remove backticks from `#[should_panic]` test failure message.
  * Guarantee that `[T; N]::from_fn` is generated in order of increasing
    indices, for those passing it a stateful closure.
  * The libtest flag `--nocapture` is deprecated in favor of the more consistent
    `--no-capture` flag.
  * Guarantee that `{float}::NAN` is a quiet NaN.

Stabilized APIs:

  * `Cell::update` https://doc.rust-
    lang.org/stable/std/cell/struct.Cell.html#method.update
  * `impl Default for *const T` https://doc.rust-
    lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*const+T
  * `impl Default for *mut T` https://doc.rust-
    lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*mut+T
  * `HashMap::extract_if` https://doc.rust-
    lang.org/stable/std/collections/struct.HashMap.html#method.extract_if
  * `HashSet::extract_if` https://doc.rust-
    lang.org/stable/std/collections/struct.HashSet.html#method.extract_if
  * `proc_macro::Span::line` https://doc.rust-
    lang.org/stable/proc_macro/struct.Span.html#method.line
  * `proc_macro::Span::column` https://doc.rust-
    lang.org/stable/proc_macro/struct.Span.html#method.column
  * `proc_macro::Span::start` https://doc.rust-
    lang.org/stable/proc_macro/struct.Span.html#method.start
  * `proc_macro::Span::end` https://doc.rust-
    lang.org/stable/proc_macro/struct.Span.html#method.end
  * `proc_macro::Span::file` https://doc.rust-
    lang.org/stable/proc_macro/struct.Span.html#method.file
  * `proc_macro::Span::local_file` https://doc.rust-
    lang.org/stable/proc_macro/struct.Span.html#method.local_file

These previously stable APIs are now stable in const contexts:

  * `NonNull<T>::replace` https://doc.rust-
    lang.org/stable/std/ptr/struct.NonNull.html#method.replace
  * `<*mut T>::replace` https://doc.rust-
    lang.org/stable/std/primitive.pointer.html#method.replace
  * `std::ptr::swap_nonoverlapping`
  * `Cell::{replace, get, get_mut, from_mut, as_slice_of_cells}`

Cargo:

  * Stabilize automatic garbage collection.
  * use `zlib-rs` for gzip compression in rust code

Rustdoc:

  * Doctests can be ignored based on target names using `ignore-*` attributes.
  * Stabilize the `--test-runtool` and `--test-runtool-arg` CLI options to
    specify a program (like qemu) and its arguments to run a doctest.

Compatibility Notes:

  * Finish changing the internal representation of pasted tokens. Certain
    invalid declarative macros that were previously accepted in obscure
    circumstances are now correctly rejected by the compiler. Use of a `tt`
    fragment specifier can often fix these macros.
  * Fully de-stabilize the `#[bench]` attribute. Usage of `#[bench]` without
    `#![feature(custom_test_frameworks)]` already triggered a deny-by-default
    future-incompatibility lint since Rust 1.77, but will now become a hard
    error.
  * Fix borrow checking some always-true patterns. The borrow checker was overly
    permissive in some cases, allowing programs that shouldn't have compiled.
  * Update the minimum external LLVM to 19.
  * Make it a hard error to use a vector type with a non-Rust ABI without
    enabling the required target feature.

## 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.3  
    zypper in -t patch 39484=1

  * openSUSE Leap 15.4  
    zypper in -t patch 39484=1

  * openSUSE Leap 15.5  
    zypper in -t patch 39484=1

  * openSUSE Leap 15.6  
    zypper in -t patch openSUSE-SLE-15.6-2025-39484=1

  * Development Tools Module 15-SP6  
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP6-2025-39484=1

  * Development Tools Module 15-SP7  
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP7-2025-39484=1

  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4  
    zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-ESPOS-2025-39484=1

  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4  
    zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-LTSS-2025-39484=1

  * SUSE Linux Enterprise Server 15 SP4 LTSS  
    zypper in -t patch SUSE-SLE-Product-SLES-15-SP4-LTSS-2025-39484=1

  * SUSE Linux Enterprise Server for SAP Applications 15 SP4  
    zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP4-2025-39484=1

## Package List:

  * openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586)
    * rust-1.88.0-150300.21.60.1
    * cargo-1.88.0-150300.21.60.1
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586 nosrc)
    * rust1.88-1.88.0-150300.7.3.2
  * openSUSE Leap 15.3 (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2
  * openSUSE Leap 15.3 (nosrc)
    * rust1.88-test-1.88.0-150300.7.3.2
  * openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 i586)
    * rust-1.88.0-150400.24.51.2
    * cargo-1.88.0-150400.24.51.2
  * openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
    * rust-1.88.0-150500.27.43.1
    * cargo-1.88.0-150500.27.43.1
  * openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64)
    * rust-1.88.0-150500.27.43.1
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo-1.88.0-150500.27.43.1
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64 nosrc)
    * rust1.88-1.88.0-150300.7.3.2
  * openSUSE Leap 15.6 (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2
  * Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64)
    * rust-1.88.0-150500.27.43.1
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo-1.88.0-150500.27.43.1
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64 nosrc)
    * rust1.88-1.88.0-150300.7.3.2
  * Development Tools Module 15-SP6 (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2
  * Development Tools Module 15-SP7 (aarch64 ppc64le s390x x86_64)
    * rust-1.88.0-150500.27.43.1
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo-1.88.0-150500.27.43.1
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * Development Tools Module 15-SP7 (aarch64 ppc64le s390x x86_64 nosrc)
    * rust1.88-1.88.0-150300.7.3.2
  * Development Tools Module 15-SP7 (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (aarch64
    x86_64)
    * rust-1.88.0-150400.24.51.2
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo-1.88.0-150400.24.51.2
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (aarch64 nosrc
    x86_64)
    * rust1.88-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (aarch64
    x86_64)
    * rust-1.88.0-150400.24.51.2
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo-1.88.0-150400.24.51.2
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (aarch64 nosrc
    x86_64)
    * rust1.88-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise Server 15 SP4 LTSS (aarch64 ppc64le s390x x86_64)
    * rust-1.88.0-150400.24.51.2
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo-1.88.0-150400.24.51.2
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise Server 15 SP4 LTSS (aarch64 ppc64le s390x x86_64
    nosrc)
    * rust1.88-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise Server 15 SP4 LTSS (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise Server for SAP Applications 15 SP4 (ppc64le x86_64)
    * rust-1.88.0-150400.24.51.2
    * rust1.88-debuginfo-1.88.0-150300.7.3.2
    * cargo1.88-1.88.0-150300.7.3.2
    * cargo-1.88.0-150400.24.51.2
    * cargo1.88-debuginfo-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise Server for SAP Applications 15 SP4 (nosrc ppc64le
    x86_64)
    * rust1.88-1.88.0-150300.7.3.2
  * SUSE Linux Enterprise Server for SAP Applications 15 SP4 (noarch)
    * rust1.88-src-1.88.0-150300.7.3.2

## 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/20250717/f29d66a7/attachment.htm>


More information about the sle-updates mailing list