<div class="container">
<h1>Recommended update for rust, rust1.88</h1>
<table class="table table-striped table-bordered">
<tbody>
<tr>
<th>Announcement ID:</th>
<td>SUSE-RU-2025:39484-1</td>
</tr>
<tr>
<th>Release Date:</th>
<td>2025-07-17T15:06:50Z</td>
</tr>
<tr>
<th>Rating:</th>
<td>moderate</td>
</tr>
<tr>
<th>References:</th>
<td>
<ul>
<li style="display: inline;">
<a href="https://jira.suse.com/browse/PED-11411">jsc#PED-11411</a>
</li>
<li style="display: inline;">
<a href="https://jira.suse.com/browse/SLE-18626">jsc#SLE-18626</a>
</li>
</ul>
</td>
</tr>
<tr>
<th>Affected Products:</th>
<td>
<ul class="list-group">
<li class="list-group-item">Development Tools Module 15-SP6</li>
<li class="list-group-item">Development Tools Module 15-SP7</li>
<li class="list-group-item">openSUSE Leap 15.3</li>
<li class="list-group-item">openSUSE Leap 15.4</li>
<li class="list-group-item">openSUSE Leap 15.5</li>
<li class="list-group-item">openSUSE Leap 15.6</li>
<li class="list-group-item">SUSE Linux Enterprise Desktop 15 SP6</li>
<li class="list-group-item">SUSE Linux Enterprise Desktop 15 SP7</li>
<li class="list-group-item">SUSE Linux Enterprise High Performance Computing 15 SP4</li>
<li class="list-group-item">SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4</li>
<li class="list-group-item">SUSE Linux Enterprise High Performance Computing LTSS 15 SP4</li>
<li class="list-group-item">SUSE Linux Enterprise Real Time 15 SP6</li>
<li class="list-group-item">SUSE Linux Enterprise Real Time 15 SP7</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP4</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP4 LTSS</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP6</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP7</li>
<li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP4</li>
<li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP6</li>
<li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP7</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>An update that contains two features can now be installed.</p>
<h2>Description:</h2>
<p>This update for rust fixes the following issues:</p>
<ul>
<li>Update to version 1.88.0 - for details see the rust1.88 package</li>
</ul>
<h1>Version 1.88.0 (2025-06-26)</h1>
<p>Language:</p>
<ul>
<li>Stabilize <code>#![feature(let_chains)]</code> in the 2024 edition.
This feature allows <code>&&</code>-chaining <code>let</code> statements inside <code>if</code> and <code>while</code>, allowing intermixture with boolean expressions. The patterns inside the <code>let</code> sub-expressions can be irrefutable or refutable.</li>
<li>Stabilize <code>#![feature(naked_functions)]</code>.
Naked functions allow writing functions with no compiler-generated epilogue and prologue, allowing full control over the generated assembly for a particular function.</li>
<li>Stabilize <code>#![feature(cfg_boolean_literals)]</code>.
This allows using boolean literals as <code>cfg</code> predicates, e.g. <code>#[cfg(true)]</code> and <code>#[cfg(false)]</code>.</li>
<li>Fully de-stabilize the <code>#[bench]</code> attribute. Usage of <code>#[bench]</code> without <code>#![feature(custom_test_frameworks)]</code> already triggered a deny-by-default future-incompatibility lint since Rust 1.77, but will now become a hard error.</li>
<li>Add warn-by-default <code>dangerous_implicit_autorefs</code> lint against implicit autoref of raw pointer dereference.
The lint will be bumped to deny-by-default in the next version of Rust.</li>
<li>Add <code>invalid_null_arguments</code> lint to prevent invalid usage of null pointers.
This lint is uplifted from <code>clippy::invalid_null_ptr_usage</code>.</li>
<li>Change trait impl candidate preference for builtin impls and trivial where-clauses.</li>
<li>Check types of generic const parameter defaults</li>
</ul>
<p>Compiler:</p>
<ul>
<li>Stabilize <code>-Cdwarf-version</code> for selecting the version of DWARF debug information to generate.</li>
</ul>
<p>Platform Support:</p>
<ul>
<li>Demote <code>i686-pc-windows-gnu</code> to Tier 2.</li>
</ul>
<p>Refer to Rust's <a href="https://doc.rust-lang.org/rustc/platform-support.html">platform support page</a>
for more information on Rust's tiered platform support.</p>
<p>Libraries:</p>
<ul>
<li>Remove backticks from <code>#[should_panic]</code> test failure message.</li>
<li>Guarantee that <code>[T; N]::from_fn</code> is generated in order of increasing indices, for those passing it a stateful closure.</li>
<li>The libtest flag <code>--nocapture</code> is deprecated in favor of the more consistent <code>--no-capture</code> flag.</li>
<li>Guarantee that <code>{float}::NAN</code> is a quiet NaN.</li>
</ul>
<p>Stabilized APIs:</p>
<ul>
<li><code>Cell::update</code> https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.update</li>
<li><code>impl Default for *const T</code> https://doc.rust-lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*const+T</li>
<li><code>impl Default for *mut T</code> https://doc.rust-lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*mut+T</li>
<li><code>HashMap::extract_if</code> https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.extract_if</li>
<li><code>HashSet::extract_if</code> https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.extract_if</li>
<li><code>proc_macro::Span::line</code> https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.line</li>
<li><code>proc_macro::Span::column</code> https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.column</li>
<li><code>proc_macro::Span::start</code> https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.start</li>
<li><code>proc_macro::Span::end</code> https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.end</li>
<li><code>proc_macro::Span::file</code> https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.file</li>
<li><code>proc_macro::Span::local_file</code> https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.local_file</li>
</ul>
<p>These previously stable APIs are now stable in const contexts:</p>
<ul>
<li><code>NonNull<T>::replace</code> https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.replace</li>
<li><code><*mut T>::replace</code> https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.replace</li>
<li><code>std::ptr::swap_nonoverlapping</code></li>
<li><code>Cell::{replace, get, get_mut, from_mut, as_slice_of_cells}</code></li>
</ul>
<p>Cargo:</p>
<ul>
<li>Stabilize automatic garbage collection.</li>
<li>use <code>zlib-rs</code> for gzip compression in rust code</li>
</ul>
<p>Rustdoc:</p>
<ul>
<li>Doctests can be ignored based on target names using <code>ignore-*</code> attributes.</li>
<li>Stabilize the <code>--test-runtool</code> and <code>--test-runtool-arg</code> CLI options to specify a program (like qemu) and its arguments to run a doctest.</li>
</ul>
<p>Compatibility Notes:</p>
<ul>
<li>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 <code>tt</code> fragment specifier can often fix these macros.</li>
<li>Fully de-stabilize the <code>#[bench]</code> attribute. Usage of <code>#[bench]</code> without <code>#![feature(custom_test_frameworks)]</code> already triggered a deny-by-default future-incompatibility lint since Rust 1.77, but will now become a hard error.</li>
<li>Fix borrow checking some always-true patterns.
The borrow checker was overly permissive in some cases, allowing programs that shouldn't have compiled.</li>
<li>Update the minimum external LLVM to 19.</li>
<li>Make it a hard error to use a vector type with a non-Rust ABI without enabling the required target feature.</li>
</ul>
<h2>Patch Instructions:</h2>
<p>
To install this SUSE update use the SUSE recommended
installation methods like YaST online_update or "zypper patch".<br/>
Alternatively you can run the command listed for your product:
</p>
<ul class="list-group">
<li class="list-group-item">
openSUSE Leap 15.3
<br/>
<code>zypper in -t patch 39484=1</code>
</li>
<li class="list-group-item">
openSUSE Leap 15.4
<br/>
<code>zypper in -t patch 39484=1</code>
</li>
<li class="list-group-item">
openSUSE Leap 15.5
<br/>
<code>zypper in -t patch 39484=1</code>
</li>
<li class="list-group-item">
openSUSE Leap 15.6
<br/>
<code>zypper in -t patch openSUSE-SLE-15.6-2025-39484=1</code>
</li>
<li class="list-group-item">
Development Tools Module 15-SP6
<br/>
<code>zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP6-2025-39484=1</code>
</li>
<li class="list-group-item">
Development Tools Module 15-SP7
<br/>
<code>zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP7-2025-39484=1</code>
</li>
<li class="list-group-item">
SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4
<br/>
<code>zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-ESPOS-2025-39484=1</code>
</li>
<li class="list-group-item">
SUSE Linux Enterprise High Performance Computing LTSS 15 SP4
<br/>
<code>zypper in -t patch SUSE-SLE-Product-HPC-15-SP4-LTSS-2025-39484=1</code>
</li>
<li class="list-group-item">
SUSE Linux Enterprise Server 15 SP4 LTSS
<br/>
<code>zypper in -t patch SUSE-SLE-Product-SLES-15-SP4-LTSS-2025-39484=1</code>
</li>
<li class="list-group-item">
SUSE Linux Enterprise Server for SAP Applications 15 SP4
<br/>
<code>zypper in -t patch SUSE-SLE-Product-SLES_SAP-15-SP4-2025-39484=1</code>
</li>
</ul>
<h2>Package List:</h2>
<ul>
<li>
openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586)
<ul>
<li>rust-1.88.0-150300.21.60.1</li>
<li>cargo-1.88.0-150300.21.60.1</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586 nosrc)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
openSUSE Leap 15.3 (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
openSUSE Leap 15.3 (nosrc)
<ul>
<li>rust1.88-test-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 i586)
<ul>
<li>rust-1.88.0-150400.24.51.2</li>
<li>cargo-1.88.0-150400.24.51.2</li>
</ul>
</li>
<li>
openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
<ul>
<li>rust-1.88.0-150500.27.43.1</li>
<li>cargo-1.88.0-150500.27.43.1</li>
</ul>
</li>
<li>
openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64)
<ul>
<li>rust-1.88.0-150500.27.43.1</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo-1.88.0-150500.27.43.1</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64 nosrc)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
openSUSE Leap 15.6 (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64)
<ul>
<li>rust-1.88.0-150500.27.43.1</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo-1.88.0-150500.27.43.1</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64 nosrc)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
Development Tools Module 15-SP6 (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
Development Tools Module 15-SP7 (aarch64 ppc64le s390x x86_64)
<ul>
<li>rust-1.88.0-150500.27.43.1</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo-1.88.0-150500.27.43.1</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
Development Tools Module 15-SP7 (aarch64 ppc64le s390x x86_64 nosrc)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
Development Tools Module 15-SP7 (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (aarch64 x86_64)
<ul>
<li>rust-1.88.0-150400.24.51.2</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo-1.88.0-150400.24.51.2</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (aarch64 nosrc x86_64)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (aarch64 x86_64)
<ul>
<li>rust-1.88.0-150400.24.51.2</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo-1.88.0-150400.24.51.2</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (aarch64 nosrc x86_64)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise Server 15 SP4 LTSS (aarch64 ppc64le s390x x86_64)
<ul>
<li>rust-1.88.0-150400.24.51.2</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo-1.88.0-150400.24.51.2</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise Server 15 SP4 LTSS (aarch64 ppc64le s390x x86_64 nosrc)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise Server 15 SP4 LTSS (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise Server for SAP Applications 15 SP4 (ppc64le x86_64)
<ul>
<li>rust-1.88.0-150400.24.51.2</li>
<li>rust1.88-debuginfo-1.88.0-150300.7.3.2</li>
<li>cargo1.88-1.88.0-150300.7.3.2</li>
<li>cargo-1.88.0-150400.24.51.2</li>
<li>cargo1.88-debuginfo-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise Server for SAP Applications 15 SP4 (nosrc ppc64le x86_64)
<ul>
<li>rust1.88-1.88.0-150300.7.3.2</li>
</ul>
</li>
<li>
SUSE Linux Enterprise Server for SAP Applications 15 SP4 (noarch)
<ul>
<li>rust1.88-src-1.88.0-150300.7.3.2</li>
</ul>
</li>
</ul>
<h2>References:</h2>
<ul>
<li>
<a href="https://jira.suse.com/browse/PED-11411">https://jira.suse.com/browse/PED-11411</a>
</li>
<li>
<a href="https://jira.suse.com/browse/SLE-18626">https://jira.suse.com/browse/SLE-18626</a>
</li>
</ul>
</div>