<div class="container">
    <h1>Recommended update for rust, rust1.79</h1>

    <table class="table table-striped table-bordered">
        <tbody>
        <tr>
            <th>Announcement ID:</th>
            <td>SUSE-RU-2024:2188-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">Development Tools Module 15-SP6</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 SP5</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Desktop 15 SP6</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 Real Time 15 SP6</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server 15 SP5</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server 15 SP6</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP5</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP6</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.79 fixes the following issues:</p>
<p>Changes in rust1.79:</p>
<h1>Version 1.79.0 (2024-06-13)</h1>
<h2>Language</h2>
<ul>
<li>Stabilize inline <code>const {}</code> expressions.</li>
<li>Prevent opaque types being instantiated twice with different regions within the same function.</li>
<li>Stabilize WebAssembly target features that are in phase 4 and 5.</li>
<li>Add the <code>redundant_lifetimes</code> lint to detect lifetimes which are semantically redundant.</li>
<li>Stabilize the <code>unnameable_types</code> lint for public types that can&#x27;t be named.</li>
<li>Enable debuginfo in macros, and stabilize <code>-C collapse-macro-debuginfo</code> and <code>#[collapse_debuginfo]</code>.</li>
<li>Propagate temporary lifetime extension into <code>if</code> and <code>match</code> expressions.</li>
<li>Restrict promotion of <code>const fn</code> calls.</li>
<li>Warn against refining impls of crate-private traits with <code>refining_impl_trait</code> lint.</li>
<li>Stabilize associated type bounds (RFC 2289).</li>
<li>Stabilize importing <code>main</code> from other modules or crates.</li>
<li>Check return types of function types for well-formedness</li>
<li>Rework <code>impl Trait</code> lifetime inference</li>
<li>Change inductive trait solver cycles to be ambiguous</li>
</ul>
<h2>Compiler</h2>
<ul>
<li>Define <code>-C strip</code> to only affect binaries, not artifacts like <code>.pdb</code>.</li>
<li>Stabilize <code>-Crelro-level</code> for controlling runtime link hardening.</li>
<li>Stabilize checking of <code>cfg</code> names and values at compile-time with <code>--check-cfg</code>.
  <em>Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.</em></li>
<li>Add <code>aarch64-apple-visionos</code> and <code>aarch64-apple-visionos-sim</code> tier 3 targets.</li>
<li>Add <code>riscv32ima-unknown-none-elf</code> tier 3 target.</li>
<li>Promote several Windows targets to tier 2: <code>aarch64-pc-windows-gnullvm</code>, <code>i686-pc-windows-gnullvm</code>, and <code>x86_64-pc-windows-gnullvm</code>.</li>
</ul>
<p>Refer to Rust&#x27;s [platform support page][platform-support-doc]
for more information on Rust&#x27;s tiered platform support.</p>
<h2>Libraries</h2>
<ul>
<li>Implement <code>FromIterator</code> for <code>(impl Default + Extend, impl Default + Extend)</code>.</li>
<li>Implement <code>{Div,Rem}Assign&lt;NonZero&lt;X&gt;&gt;</code> on <code>X</code>.</li>
<li>Document overrides of <code>clone_from()</code> in core/std.</li>
<li>Link MSVC default lib in core.</li>
<li>Caution against using <code>transmute</code> between pointers and integers.</li>
<li>Enable frame pointers for the standard library.</li>
</ul>
<h2>Stabilized APIs</h2>
<ul>
<li><code>{integer}::unchecked_add</code> https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add)</li>
<li><code>{integer}::unchecked_mul</code> https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul)</li>
<li><code>{integer}::unchecked_sub</code> https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub)</li>
<li><code>&lt;[T]&gt;::split_at_unchecked</code> https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked)</li>
<li><code>&lt;[T]&gt;::split_at_mut_unchecked</code> https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)</li>
<li><code>&lt;[u8]&gt;::utf8_chunks</code> https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8_chunks)</li>
<li><code>str::Utf8Chunks</code> https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html)</li>
<li><code>str::Utf8Chunk</code> https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html)</li>
<li><code>&lt;*const T&gt;::is_aligned</code> https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned)</li>
<li><code>&lt;*mut T&gt;::is_aligned</code> https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1)</li>
<li><code>NonNull::is_aligned</code> https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned)</li>
<li><code>&lt;*const [T]&gt;::len</code> https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len)</li>
<li><code>&lt;*mut [T]&gt;::len</code> https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1)</li>
<li><code>&lt;*const [T]&gt;::is_empty</code> https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty)</li>
<li><code>&lt;*mut [T]&gt;::is_empty</code> https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1)</li>
<li><code>NonNull::&lt;[T]&gt;::is_empty</code> https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty)</li>
<li><code>CStr::count_bytes</code> https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)</li>
<li><code>io::Error::downcast</code> https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast)</li>
<li><code>num::NonZero&lt;T&gt;</code> https://doc.rust-lang.org/stable/core/num/struct.NonZero.html)</li>
<li><code>path::absolute</code> https://doc.rust-lang.org/stable/std/path/fn.absolute.html)</li>
<li><code>proc_macro::Literal::byte_character</code> https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character)</li>
<li><code>proc_macro::Literal::c_string</code> https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string)</li>
</ul>
<p>These APIs are now stable in const contexts:</p>
<ul>
<li><code>Atomic*::into_inner</code> https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner)</li>
<li><code>io::Cursor::new</code> https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new)</li>
<li><code>io::Cursor::get_ref</code> https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref)</li>
<li><code>io::Cursor::position</code> https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position)</li>
<li><code>io::empty</code> https://doc.rust-lang.org/stable/std/io/fn.empty.html)</li>
<li><code>io::repeat</code> https://doc.rust-lang.org/stable/std/io/fn.repeat.html)</li>
<li><code>io::sink</code> https://doc.rust-lang.org/stable/std/io/fn.sink.html)</li>
<li><code>panic::Location::caller</code> https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller)</li>
<li><code>panic::Location::file</code> https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file)</li>
<li><code>panic::Location::line</code> https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line)</li>
<li><code>panic::Location::column</code> https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column)</li>
</ul>
<h2>Cargo</h2>
<ul>
<li>Prevent dashes in <code>lib.name</code>, always normalizing to <code>_</code>.</li>
<li>Stabilize MSRV-aware version requirement selection in <code>cargo add</code>.</li>
<li>Switch to using <code>gitoxide</code> by default for listing files.</li>
<li>Error on <code>[project]</code> in Edition 2024; <code>cargo fix --edition</code> will change it to <code>[package]</code>.</li>
</ul>
<h2>Rustdoc</h2>
<ul>
<li>Always display stability version even if it&#x27;s the same as the containing item.</li>
<li>Show a single search result for items with multiple paths.</li>
<li>Support typing <code>/</code> in docs to begin a search.</li>
</ul>
<h2>Compatibility Notes</h2>
<ul>
<li>Update the minimum external LLVM to 17.</li>
<li><code>RustcEncodable</code> and <code>RustcDecodable</code> are soft-destabilized, to be removed
  from the prelude in next edition.</li>
<li>The <code>wasm_c_abi</code> future-incompatibility lint will warn about use of the
  non-spec-compliant C ABI.
  Use <code>wasm-bindgen v0.2.88</code> to generate forward-compatible bindings.</li>
<li>Check return types of function types for well-formedness</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-2188=1 openSUSE-SLE-15.5-2024-2188=1</code>
                    
                    
                
            </li>
        
            <li class="list-group-item">
                openSUSE Leap 15.6
                
                    
                        <br/>
                        <code>zypper in -t patch openSUSE-SLE-15.6-2024-2188=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-2188=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-2024-2188=1</code>
                    
                    
                
            </li>
        
    </ul>

    <h2>Package List:</h2>
    <ul>
        
            
                <li>
                    openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
                    <ul>
                        
                            <li>rust1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo1.79-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo-1.79.0-150500.27.15.1</li>
                        
                            <li>rust-1.79.0-150500.27.15.1</li>
                        
                            <li>cargo1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586 nosrc)
                    <ul>
                        
                            <li>rust1.79-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    openSUSE Leap 15.5 (nosrc)
                    <ul>
                        
                            <li>rust1.79-test-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64)
                    <ul>
                        
                            <li>rust1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo1.79-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo-1.79.0-150500.27.15.1</li>
                        
                            <li>rust-1.79.0-150500.27.15.1</li>
                        
                            <li>cargo1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    openSUSE Leap 15.6 (aarch64 ppc64le s390x x86_64 nosrc)
                    <ul>
                        
                            <li>rust1.79-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64)
                    <ul>
                        
                            <li>rust1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo1.79-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo-1.79.0-150500.27.15.1</li>
                        
                            <li>rust-1.79.0-150500.27.15.1</li>
                        
                            <li>cargo1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64 nosrc)
                    <ul>
                        
                            <li>rust1.79-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64)
                    <ul>
                        
                            <li>rust1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo1.79-1.79.0-150500.11.3.1</li>
                        
                            <li>cargo-1.79.0-150500.27.15.1</li>
                        
                            <li>rust-1.79.0-150500.27.15.1</li>
                        
                            <li>cargo1.79-debuginfo-1.79.0-150500.11.3.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    Development Tools Module 15-SP6 (aarch64 ppc64le s390x x86_64 nosrc)
                    <ul>
                        
                            <li>rust1.79-1.79.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>