SUSE-RU-2024:2392-1: moderate: Recommended update for rust1.70

SLE-UPDATES null at suse.de
Wed Jul 10 16:30:06 UTC 2024



# Recommended update for rust1.70

Announcement ID: SUSE-RU-2024:2392-1  
Rating: moderate  
References:

  
Affected Products:

  * openSUSE Leap 15.3

  
  
An update that can now be installed.

## Description:

This update for rust1.70 fixes the following issues:

# Version 1.70.0 (2023-06-01)

## Language

  * Relax ordering rules for `asm!` operands
  * Properly allow macro expanded `format_args` invocations to uses captures
  * Lint ambiguous glob re-exports
  * Perform const and unsafe checking for expressions in `let _ = expr`
    position.

## Compiler

  * Extend -Cdebuginfo with new options and named aliases This provides a
    smaller version of debuginfo for cases that only need line number
    information (`-Cdebuginfo=line-tables-only`), which may eventually become
    the default for `-Cdebuginfo=1`.
  * Make `unused_allocation` lint against `Box::new` too
  * Detect uninhabited types early in const eval
  * Switch to LLD as default linker for {arm,thumb}v4t-none-eabi
  * Add tier 3 target `loongarch64-unknown-linux-gnu`
  * Add tier 3 target for `i586-pc-nto-qnx700` (QNX Neutrino RTOS, version 7.0),
  * Insert alignment checks for pointer dereferences as debug assertions This
    catches undefined behavior at runtime, and may cause existing code to fail.
    Refer to Rust's [platform support page][platform-support-doc] for more
    information on Rust's tiered platform support.

## Libraries

  * Document NonZeroXxx layout guarantees
  * Windows: make `Command` prefer non-verbatim paths
  * Implement Default for some alloc/core iterators
  * Fix handling of trailing bare CR in str::lines
  * allow negative numeric literals in `concat!`
  * Add documentation about the memory layout of `Cell`
  * Use `partial_cmp` to implement tuple `lt`/`le`/`ge`/`gt`
  * Stabilize `atomic_as_ptr`
  * Stabilize `nonnull_slice_from_raw_parts`
  * Partial stabilization of `once_cell`
  * Stabilize `nonzero_min_max`
  * Flatten/inline format_args!() and (string and int) literal arguments into
    format_args!()
  * Stabilize movbe target feature
  * don't splice from files into pipes in io::copy
  * Add a builtin unstable `FnPtr` trait that is implemented for all function
    pointers This extends `Debug`, `Pointer`, `Hash`, `PartialEq`, `Eq`,
    `PartialOrd`, and `Ord` implementations for function pointers with all ABIs.

## Stabilized APIs

  * `NonZero*::MIN/MAX`
  * `BinaryHeap::retain`
  * `Default for std::collections::binary_heap::IntoIter`
  * `Default for std::collections::btree_map::{IntoIter, Iter, IterMut}`
  * `Default for std::collections::btree_map::{IntoKeys, Keys}`
  * `Default for std::collections::btree_map::{IntoValues, Values}`
  * `Default for std::collections::btree_map::Range`
  * `Default for std::collections::btree_set::{IntoIter, Iter}`
  * `Default for std::collections::btree_set::Range`
  * `Default for std::collections::linked_list::{IntoIter, Iter, IterMut}`
  * `Default for std::vec::IntoIter`
  * `Default for std::iter::Chain`
  * `Default for std::iter::Cloned`
  * `Default for std::iter::Copied`
  * `Default for std::iter::Enumerate`
  * `Default for std::iter::Flatten`
  * `Default for std::iter::Fuse`
  * `Default for std::iter::Rev`
  * `Default for std::slice::Iter`
  * `Default for std::slice::IterMut`
  * `Rc::into_inner`
  * `Arc::into_inner`
  * `std::cell::OnceCell`
  * `Option::is_some_and`
  * `NonNull::slice_from_raw_parts`
  * `Result::is_ok_and`
  * `Result::is_err_and`
  * `std::sync::atomic::Atomic*::as_ptr`
  * `std::io::IsTerminal`
  * `std::os::linux::net::SocketAddrExt`
  * `std::os::unix::net::UnixDatagram::bind_addr`
  * `std::os::unix::net::UnixDatagram::connect_addr`
  * `std::os::unix::net::UnixDatagram::send_to_addr`
  * `std::os::unix::net::UnixListener::bind_addr`
  * `std::path::Path::as_mut_os_str`
  * `std::sync::OnceLock`

## Cargo

  * Add `CARGO_PKG_README`
  * Make `sparse` the default protocol for crates.io
  * Accurately show status when downgrading dependencies
  * Use registry.default for login/logout
  * Stabilize `cargo logout`

## Misc

  * Stabilize rustdoc `--test-run-directory`

## Compatibility Notes

  * Prevent stable `libtest` from supporting `-Zunstable-options`
  * Perform const and unsafe checking for expressions in `let _ = expr`
    position.
  * WebAssembly targets enable `sign-ext` and `mutable-globals` features in
    codegen This may cause incompatibility with older execution environments.
  * Insert alignment checks for pointer dereferences as debug assertions This
    catches undefined behavior at runtime, and may cause existing code to fail.

## 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.3  
    zypper in -t patch SUSE-2024-2392=1

## Package List:

  * openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586)
    * cargo1.70-debuginfo-1.70.0-150300.7.3.1
    * cargo1.70-1.70.0-150300.7.3.1
    * rust1.70-debuginfo-1.70.0-150300.7.3.1
  * openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586 nosrc)
    * rust1.70-1.70.0-150300.7.3.1
  * openSUSE Leap 15.3 (nosrc)
    * rust1.70-test-1.70.0-150300.7.3.1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.suse.com/pipermail/sle-updates/attachments/20240710/f97d306e/attachment.htm>


More information about the sle-updates mailing list