Recommended update for rust1.88
| Announcement ID: | SUSE-RU-2025:02341-1 |
|---|---|
| Release Date: | 2025-07-17T10:05:04Z |
| Rating: | moderate |
| References: | |
| Affected Products: |
|
An update that has one fix can now be installed.
Description:
This update for rust1.88 fixes the following issues:
- bsc#1243588 - Update changelog to remove hyphen as a line break for source validator
Version 1.88.0 (2025-06-26)
Language
- Stabilize
#![feature(let_chains)]in the 2024 edition. This feature allows&&-chainingletstatements insideifandwhile, allowing intermixture with boolean expressions. The patterns inside theletsub-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 ascfgpredicates, 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_autorefslint 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_argumentslint to prevent invalid usage of null pointers. This lint is uplifted fromclippy::invalid_null_ptr_usage. - Change trait impl candidate preference for builtin impls and trivial where-clauses.
- Check types of generic const parameter defaults
Compiler
Platform Support
- Demote
i686-pc-windows-gnuto 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_fnis generated in order of increasing indices., for those passing it a stateful closure. - The libtest flag
--nocaptureis deprecated in favor of the more consistent--no-captureflag. - Guarantee that
{float}::NANis a quiet NaN.
Stabilized APIs
Cell::updateimpl Default for *const Timpl Default for *mut THashMap::extract_ifHashSet::extract_ifproc_macro::Span::lineproc_macro::Span::columnproc_macro::Span::startproc_macro::Span::endproc_macro::Span::fileproc_macro::Span::local_fileThese previously stable APIs are now stable in const contexts:NonNull<T>::replace<*mut T>::replacestd::ptr::swap_nonoverlappingCell::{replace, get, get_mut, from_mut, as_slice_of_cells}
Cargo
Rustdoc
- Doctests can be ignored based on target names using
ignore-*attributes. - Stabilize the
--test-runtooland--test-runtool-argCLI 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
ttfragment 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.6
zypper in -t patch openSUSE-SLE-15.6-2025-2341=1 -
SUSE Package Hub 15 15-SP6
zypper in -t patch SUSE-SLE-Module-Packagehub-Subpackages-15-SP6-2025-2341=1 -
SUSE Package Hub 15 15-SP7
zypper in -t patch SUSE-SLE-Module-Packagehub-Subpackages-15-SP7-2025-2341=1
Package List:
-
openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64)
- rust-cbindgen-0.28.0+git0-150200.6.7.2
-
SUSE Package Hub 15 15-SP6 (aarch64 ppc64le s390x x86_64)
- rust-cbindgen-0.28.0+git0-150200.6.7.2
-
SUSE Package Hub 15 15-SP7 (aarch64 ppc64le s390x x86_64)
- rust-cbindgen-0.28.0+git0-150200.6.7.2