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

    <table class="table table-striped table-bordered">
        <tbody>
        <tr>
            <th>Announcement ID:</th>
            <td>SUSE-RU-2023:2559-1</td>
        </tr>
        
        <tr>
            <th>Rating:</th>
            <td>moderate</td>
        </tr>
        <tr>
            <th>References:</th>
            <td>
                <ul>
                    
                </ul>
            </td>
        </tr>
        
        <tr>
            <th>Affected Products:</th>
            <td>
                <ul class="list-group">
                    
                        <li class="list-group-item">Development Tools Module 15-SP4</li>
                    
                        <li class="list-group-item">Development Tools Module 15-SP5</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">SUSE Linux Enterprise Desktop 15 SP4</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 SP4</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 SP4</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Real Time 15 SP5</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server 15 SP4</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 SP4</li>
                    
                        <li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP5</li>
                    
                        <li class="list-group-item">SUSE Manager Proxy 4.3</li>
                    
                        <li class="list-group-item">SUSE Manager Retail Branch Server 4.3</li>
                    
                        <li class="list-group-item">SUSE Manager Server 4.3</li>
                    
                </ul>
            </td>
        </tr>
        </tbody>
    </table>

    <p>An update that  can now be installed.</p>

    <h2>Description:</h2>
    <p>This update for rust, rust1.70 fixes the following issues:</p>
<p>Changes in rust:</p>
<ul>
<li>Update to version 1.70.0 - for details see the rust1.70 package</li>
</ul>
<p>Changes in rust1.70:</p>
<h1>Version 1.70.0 (2023-06-01)</h1>
<h2>Language</h2>
<ul>
<li>Relax ordering rules for <code>asm!</code> operands</li>
<li>Properly allow macro expanded <code>format_args</code> invocations to uses captures</li>
<li>Lint ambiguous glob re-exports</li>
<li>Perform const and unsafe checking for expressions in <code>let _ = expr</code> position.</li>
</ul>
<h2>Compiler</h2>
<ul>
<li>Extend -Cdebuginfo with new options and named aliases
  This provides a smaller version of debuginfo for cases that only need line number information
  (<code>-Cdebuginfo=line-tables-only</code>), which may eventually become the default for <code>-Cdebuginfo=1</code>.</li>
<li>Make <code>unused_allocation</code> lint against <code>Box::new</code> too</li>
<li>Detect uninhabited types early in const eval</li>
<li>Switch to LLD as default linker for {arm,thumb}v4t-none-eabi</li>
<li>Add tier 3 target <code>loongarch64-unknown-linux-gnu</code></li>
<li>Add tier 3 target for <code>i586-pc-nto-qnx700</code> (QNX Neutrino RTOS, version 7.0)</li>
<li>Insert alignment checks for pointer dereferences as debug assertions
  This catches undefined behavior at runtime, and may cause existing code to fail.</li>
</ul>
<p>Refer to Rust&#x27;s platform support page
  for more information on Rust&#x27;s tiered platform support.</p>
<h2>Libraries</h2>
<ul>
<li>Document NonZeroXxx layout guarantees</li>
<li>Windows: make <code>Command</code> prefer non-verbatim paths</li>
<li>Implement Default for some alloc/core iterators</li>
<li>Fix handling of trailing bare CR in str::lines</li>
<li>allow negative numeric literals in <code>concat!</code></li>
<li>Add documentation about the memory layout of <code>Cell</code></li>
<li>Use <code>partial_cmp</code> to implement tuple <code>lt</code>/<code>le</code>/<code>ge</code>/<code>gt</code></li>
<li>Stabilize <code>atomic_as_ptr</code></li>
<li>Stabilize <code>nonnull_slice_from_raw_parts</code></li>
<li>Partial stabilization of <code>once_cell</code></li>
<li>Stabilize <code>nonzero_min_max</code></li>
<li>Flatten/inline format_args!() and (string and int) literal arguments into format_args!()</li>
<li>Stabilize movbe target feature</li>
<li>don&#x27;t splice from files into pipes in io::copy</li>
<li>Add a builtin unstable <code>FnPtr</code> trait that is implemented for all function pointers
  This extends <code>Debug</code>, <code>Pointer</code>, <code>Hash</code>, <code>PartialEq</code>, <code>Eq</code>, <code>PartialOrd</code>, and <code>Ord</code>
  implementations for function pointers with all ABIs.</li>
</ul>
<h2>Stabilized APIs</h2>
<ul>
<li><code>NonZero*::MIN/MAX</code></li>
<li><code>BinaryHeap::retain</code></li>
<li><code>Default for std::collections::binary_heap::IntoIter</code></li>
<li><code>Default for std::collections::btree_map::{IntoIter, Iter, IterMut}</code></li>
<li><code>Default for std::collections::btree_map::{IntoKeys, Keys}</code></li>
<li><code>Default for std::collections::btree_map::{IntoValues, Values}</code></li>
<li><code>Default for std::collections::btree_map::Range</code></li>
<li><code>Default for std::collections::btree_set::{IntoIter, Iter}</code></li>
<li><code>Default for std::collections::btree_set::Range</code></li>
<li><code>Default for std::collections::linked_list::{IntoIter, Iter, IterMut}</code></li>
<li><code>Default for std::vec::IntoIter</code></li>
<li><code>Default for std::iter::Chain</code></li>
<li><code>Default for std::iter::Cloned</code></li>
<li><code>Default for std::iter::Copied</code></li>
<li><code>Default for std::iter::Enumerate</code></li>
<li><code>Default for std::iter::Flatten</code></li>
<li><code>Default for std::iter::Fuse</code></li>
<li><code>Default for std::iter::Rev</code></li>
<li><code>Default for std::slice::Iter</code></li>
<li><code>Default for std::slice::IterMut</code></li>
<li><code>Rc::into_inner</code></li>
<li><code>Arc::into_inner</code></li>
<li><code>std::cell::OnceCell</code></li>
<li><code>Option::is_some_and</code></li>
<li><code>NonNull::slice_from_raw_parts</code></li>
<li><code>Result::is_ok_and</code></li>
<li><code>Result::is_err_and</code></li>
<li><code>std::sync::atomic::Atomic*::as_ptr</code></li>
<li><code>std::io::IsTerminal</code></li>
<li><code>std::os::linux::net::SocketAddrExt</code></li>
<li><code>std::os::unix::net::UnixDatagram::bind_addr</code></li>
<li><code>std::os::unix::net::UnixDatagram::connect_addr</code></li>
<li><code>std::os::unix::net::UnixDatagram::send_to_addr</code></li>
<li><code>std::os::unix::net::UnixListener::bind_addr</code></li>
<li><code>std::path::Path::as_mut_os_str</code></li>
<li><code>std::sync::OnceLock</code></li>
</ul>
<h2>Cargo</h2>
<ul>
<li>Add <code>CARGO_PKG_README</code></li>
<li>Make <code>sparse</code> the default protocol for crates.io</li>
<li>Accurately show status when downgrading dependencies</li>
<li>Use registry.default for login/logout</li>
<li>Stabilize <code>cargo logout</code></li>
</ul>
<h2>Misc</h2>
<ul>
<li>Stabilize rustdoc <code>--test-run-directory</code></li>
</ul>
<h2>Compatibility Notes</h2>
<ul>
<li>Prevent stable <code>libtest</code> from supporting <code>-Zunstable-options</code></li>
<li>Perform const and unsafe checking for expressions in <code>let _ = expr</code> position.</li>
<li>WebAssembly targets enable <code>sign-ext</code> and <code>mutable-globals</code> features in codegen
  This may cause incompatibility with older execution environments.</li>
<li>Insert alignment checks for pointer dereferences as debug assertions
  This catches undefined behavior at runtime, and may cause existing code to fail.</li>
</ul>

    

    <h2>Patch Instructions:</h2>
    <p>
        To install this SUSE Moderate 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">
                Development Tools Module 15-SP5
                
                    
                        <br/>
                        <code>zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP5-2023-2559=1</code>
                    
                    
                
            </li>
        
            <li class="list-group-item">
                openSUSE Leap 15.4
                
                    
                        <br/>
                        <code>zypper in -t patch openSUSE-SLE-15.4-2023-2559=1</code>
                    
                    
                
            </li>
        
            <li class="list-group-item">
                openSUSE Leap 15.5
                
                    
                        <br/>
                        <code>zypper in -t patch openSUSE-SLE-15.5-2023-2559=1</code>
                    
                    
                
            </li>
        
            <li class="list-group-item">
                Development Tools Module 15-SP4
                
                    
                        <br/>
                        <code>zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2023-2559=1</code>
                    
                    
                
            </li>
        
    </ul>

    <h2>Package List:</h2>
    <ul>
        
            
                <li>
                    Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64)
                    <ul>
                        
                            <li>rust1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo-1.70.0-150400.24.18.1</li>
                        
                            <li>cargo1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo1.70-1.70.0-150400.9.3.1</li>
                        
                            <li>rust-1.70.0-150400.24.18.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64 nosrc)
                    <ul>
                        
                            <li>rust1.70-1.70.0-150400.9.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64)
                    <ul>
                        
                            <li>rust1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo-1.70.0-150400.24.18.1</li>
                        
                            <li>cargo1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo1.70-1.70.0-150400.9.3.1</li>
                        
                            <li>rust-1.70.0-150400.24.18.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 nosrc)
                    <ul>
                        
                            <li>rust1.70-1.70.0-150400.9.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64)
                    <ul>
                        
                            <li>rust1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo-1.70.0-150400.24.18.1</li>
                        
                            <li>cargo1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo1.70-1.70.0-150400.9.3.1</li>
                        
                            <li>rust-1.70.0-150400.24.18.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 nosrc)
                    <ul>
                        
                            <li>rust1.70-1.70.0-150400.9.3.1</li>
                        
                    </ul>
                </li>
            
        
            
                <li>
                    Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64 nosrc)
                    <ul>
                        
                            <li>rust1.70-1.70.0-150400.9.3.1</li>
                        
                    </ul>
                </li>
            
                <li>
                    Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64)
                    <ul>
                        
                            <li>rust1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo-1.70.0-150400.24.18.1</li>
                        
                            <li>cargo1.70-debuginfo-1.70.0-150400.9.3.1</li>
                        
                            <li>cargo1.70-1.70.0-150400.9.3.1</li>
                        
                            <li>rust-1.70.0-150400.24.18.1</li>
                        
                    </ul>
                </li>
            
        
    </ul>

    
</div>