<div class="container">
<h1>Recommended update for rust, rust1.75</h1>
<table class="table table-striped table-bordered">
<tbody>
<tr>
<th>Announcement ID:</th>
<td>SUSE-RU-2024:0080-1</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/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-SP5</li>
<li class="list-group-item">openSUSE Leap 15.5</li>
<li class="list-group-item">SUSE Linux Enterprise Desktop 15 SP5</li>
<li class="list-group-item">SUSE Linux Enterprise High Performance Computing 15 SP5</li>
<li class="list-group-item">SUSE Linux Enterprise Real Time 15 SP5</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP5</li>
<li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP5</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>An update that contains one feature can now be installed.</p>
<h2>Description:</h2>
<p>This update for rust, rust1.75 fixes the following issues:</p>
<p>This update ships rust 1.75.</p>
<h1>Version 1.75.0 (2023-12-28)</h1>
<h2>Language</h2>
<ul>
<li>Stabilize <code>async fn</code> and return-position <code>impl Trait</code> in traits.</li>
<li>Allow function pointer signatures containing <code>&mut T</code> in <code>const</code> contexts.</li>
<li>Match <code>usize</code>/<code>isize</code> exhaustively with half-open ranges.</li>
<li>Guarantee that <code>char</code> has the same size and alignment as <code>u32</code>.</li>
<li>Document that the null pointer has the 0 address.</li>
<li>Allow partially moved values in <code>match</code>.</li>
<li>Add notes about non-compliant FP behavior on 32bit x86 targets.</li>
<li>Stabilize ratified RISC-V target features.</li>
</ul>
<h2>Compiler</h2>
<ul>
<li>Rework negative coherence to properly consider impls that only partly overlap.</li>
<li>Bump <code>COINDUCTIVE_OVERLAP_IN_COHERENCE</code> to deny, and warn in dependencies.</li>
<li>Consider alias bounds when computing liveness in NLL.</li>
<li>Add the V (vector) extension to the <code>riscv64-linux-android</code> target spec.</li>
<li>Automatically enable cross-crate inlining for small functions</li>
</ul>
<h2>Libraries</h2>
<ul>
<li>Override <code>Waker::clone_from</code> to avoid cloning <code>Waker</code>s unnecessarily.</li>
<li>Implement <code>BufRead</code> for <code>VecDeque<u8></code>.</li>
<li>Implement <code>FusedIterator</code> for <code>DecodeUtf16</code> when the inner iterator does.</li>
<li>Implement <code>Not, Bit{And,Or}{,Assign}</code> for IP addresses.</li>
<li>Implement <code>Default</code> for <code>ExitCode</code>.</li>
<li>Guarantee representation of None in NPO</li>
<li>Document when atomic loads are guaranteed read-only.</li>
<li>Broaden the consequences of recursive TLS initialization.</li>
<li>Windows: Support sub-millisecond sleep.</li>
<li>Fix generic bound of <code>str::SplitInclusive</code>'s <code>DoubleEndedIterator</code> impl</li>
<li>Fix exit status / wait status on non-Unix <code>cfg(unix)</code> platforms.</li>
</ul>
<h2>Stabilized APIs</h2>
<ul>
<li><code>Atomic*::from_ptr</code></li>
<li><code>FileTimes</code></li>
<li><code>FileTimesExt</code></li>
<li><code>File::set_modified</code></li>
<li><code>File::set_times</code></li>
<li><code>IpAddr::to_canonical</code></li>
<li><code>Ipv6Addr::to_canonical</code></li>
<li><code>Option::as_slice</code></li>
<li><code>Option::as_mut_slice</code></li>
<li><code>pointer::byte_add</code></li>
<li><code>pointer::byte_offset</code></li>
<li><code>pointer::byte_offset_from</code></li>
<li><code>pointer::byte_sub</code></li>
<li><code>pointer::wrapping_byte_add</code></li>
<li><code>pointer::wrapping_byte_offset</code></li>
<li><code>pointer::wrapping_byte_sub</code></li>
</ul>
<p>These APIs are now stable in const contexts:</p>
<ul>
<li><code>Ipv6Addr::to_ipv4_mapped</code></li>
<li><code>MaybeUninit::assume_init_read</code></li>
<li><code>MaybeUninit::zeroed</code></li>
<li><code>mem::discriminant</code></li>
<li><code>mem::zeroed</code></li>
</ul>
<h2>Cargo</h2>
<ul>
<li>Add new packages to `[workspace.members</li>
<li>Allow version-less <code>Cargo.toml</code> manifests.</li>
<li>Make browser links out of HTML file paths.</li>
</ul>
<h2>Rustdoc</h2>
<ul>
<li>Accept less invalid Rust in rustdoc.</li>
<li>Document lack of object safety on affected traits.</li>
<li>Hide `#[repr(transparent)</li>
<li>Show enum discriminant if it is a C-like variant.</li>
</ul>
<h2>Compatibility Notes</h2>
<ul>
<li>Make misalignment a hard error in <code>const</code> contexts.</li>
<li>Fix detecting references to packed unsized fields.</li>
<li>Remove support for compiler plugins.</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.5
<br/>
<code>zypper in -t patch SUSE-2024-80=1 openSUSE-SLE-15.5-2024-80=1</code>
</li>
<li class="list-group-item">
Development Tools Module 15-SP5
<br/>
<code>zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP5-2024-80=1</code>
</li>
</ul>
<h2>Package List:</h2>
<ul>
<li>
openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
<ul>
<li>cargo1.75-1.75.0-150500.11.3.1</li>
<li>rust-1.75.0-150500.27.3.1</li>
<li>cargo1.75-debuginfo-1.75.0-150500.11.3.1</li>
<li>rust1.75-debuginfo-1.75.0-150500.11.3.1</li>
<li>cargo-1.75.0-150500.27.3.1</li>
</ul>
</li>
<li>
openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586 nosrc)
<ul>
<li>rust1.75-1.75.0-150500.11.3.1</li>
</ul>
</li>
<li>
openSUSE Leap 15.5 (nosrc)
<ul>
<li>rust1.75-test-1.75.0-150500.11.3.2</li>
</ul>
</li>
<li>
Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64)
<ul>
<li>cargo1.75-1.75.0-150500.11.3.1</li>
<li>rust-1.75.0-150500.27.3.1</li>
<li>cargo1.75-debuginfo-1.75.0-150500.11.3.1</li>
<li>rust1.75-debuginfo-1.75.0-150500.11.3.1</li>
<li>cargo-1.75.0-150500.27.3.1</li>
</ul>
</li>
<li>
Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64 nosrc)
<ul>
<li>rust1.75-1.75.0-150500.11.3.1</li>
</ul>
</li>
</ul>
<h2>References:</h2>
<ul>
<li>
<a href="https://jira.suse.com/browse/SLE-18626">https://jira.suse.com/browse/SLE-18626</a>
</li>
</ul>
</div>