shield Recommended update for rust, rust1.88
SUSE-SLE-Module-Development-Tools-15-SP7-2025-39484


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][platform-support-doc] for more information on Rust's tiered platform support. [platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html 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.

  • Release Date
    Jul 11 2025
  • References
  • Type
    recommended
  • Severity
    moderate

cloud_download Downloads

Development Tools Module 15.7 ppc64le
  • Packages
    cargo
    The Rust package manager
    1.88.0-150500.27.43.1 lock rpm
    cargo1.88
    The Rust package manager
    1.88.0-150300.7.3.2 lock rpm
    rust
    A systems programming language
    1.88.0-150500.27.43.1 lock rpm lock src
    rust1.88
    A systems programming language
    1.88.0-150300.7.3.2 lock rpm lock nosrc
    rust1.88-src
    The Rust Standard Library Source
    1.88.0-150300.7.3.2 lock rpm
Development Tools Module 15.7 s390x
  • Packages
    cargo
    The Rust package manager
    1.88.0-150500.27.43.1 lock rpm
    cargo1.88
    The Rust package manager
    1.88.0-150300.7.3.2 lock rpm
    rust
    A systems programming language
    1.88.0-150500.27.43.1 lock rpm lock src
    rust1.88
    A systems programming language
    1.88.0-150300.7.3.2 lock rpm lock nosrc
    rust1.88-src
    The Rust Standard Library Source
    1.88.0-150300.7.3.2 lock rpm
Development Tools Module 15.7 aarch64
  • Packages
    cargo
    The Rust package manager
    1.88.0-150500.27.43.1 lock rpm
    cargo1.88
    The Rust package manager
    1.88.0-150300.7.3.2 lock rpm
    rust
    A systems programming language
    1.88.0-150500.27.43.1 lock rpm lock src
    rust1.88
    A systems programming language
    1.88.0-150300.7.3.2 lock rpm lock nosrc
    rust1.88-src
    The Rust Standard Library Source
    1.88.0-150300.7.3.2 lock rpm
Development Tools Module 15.7 x86_64
  • Packages
    cargo
    The Rust package manager
    1.88.0-150500.27.43.1 lock rpm
    cargo1.88
    The Rust package manager
    1.88.0-150300.7.3.2 lock rpm
    rust
    A systems programming language
    1.88.0-150500.27.43.1 lock rpm lock src
    rust1.88
    A systems programming language
    1.88.0-150300.7.3.2 lock rpm lock nosrc
    rust1.88-src
    The Rust Standard Library Source
    1.88.0-150300.7.3.2 lock rpm