Recommended update for rust, rust1.73

Announcement ID: SUSE-RU-2023:4067-1
Rating: moderate
References:
Affected Products:
  • Development Tools Module 15-SP4
  • Development Tools Module 15-SP5
  • openSUSE Leap 15.4
  • openSUSE Leap 15.5
  • SUSE Linux Enterprise Desktop 15 SP4
  • SUSE Linux Enterprise Desktop 15 SP5
  • SUSE Linux Enterprise High Performance Computing 15 SP4
  • SUSE Linux Enterprise High Performance Computing 15 SP5
  • SUSE Linux Enterprise Real Time 15 SP4
  • SUSE Linux Enterprise Real Time 15 SP5
  • SUSE Linux Enterprise Server 15 SP4
  • SUSE Linux Enterprise Server 15 SP5
  • SUSE Linux Enterprise Server for SAP Applications 15 SP4
  • SUSE Linux Enterprise Server for SAP Applications 15 SP5
  • SUSE Manager Proxy 4.3
  • SUSE Manager Retail Branch Server 4.3
  • SUSE Manager Server 4.3

An update that can now be installed.

Description:

This update for rust, rust1.73 fixes the following issues:

Changes in rust1.73:

Version 1.73.0 (2023-10-05)

Language

  • Uplift clippy::fn_null_check lint as useless_ptr_null_checks.
  • Make noop_method_call warn by default.
  • Support interpolated block for try and async in macros.
  • Make unconditional_recursion lint detect recursive drops.
  • Future compatibility warning for some impls being incorrectly considered not overlapping.
  • The invalid_reference_casting lint is now deny-by-default (instead of allow-by-default)

Compiler

  • Write version information in a .comment section like GCC/Clang.
  • Add documentation on v0 symbol mangling.
  • Stabilize extern "thiscall" and "thiscall-unwind" ABIs.
  • Only check outlives goals on impl compared to trait.
  • Infer type in irrefutable slice patterns with fixed length as array.
  • Discard default auto trait impls if explicit ones exist.
  • Add several new tier 3 targets:

    • aarch64-unknown-teeos
    • csky-unknown-linux-gnuabiv2
    • riscv64-linux-android
    • riscv64gc-unknown-hermit
    • x86_64-unikraft-linux-musl
    • x86_64-unknown-linux-ohos
  • Add wasm32-wasi-preview1-threads as a tier 2 target. Refer to Rust's platform support page for more information on Rust's tiered platform support.

Libraries

  • Add Read, Write and Seek impls for Arc<File>.
  • Merge functionality of io::Sink into io::Empty.
  • Implement RefUnwindSafe for Backtrace
  • Make ExitStatus implement Default
  • impl SliceIndex<str> for (Bound<usize>, Bound<usize>)
  • Change default panic handler message format.
  • Cleaner assert_eq! & assert_ne! panic messages.
  • Correct the (deprecated) Android stat struct definitions.

Stabilized APIs

  • Unsigned {integer}::div_ceil https://doc.rust-lang.org/stable/std/primitive.u32.html#method.div_ceil
  • Unsigned {integer}::next_multiple_of https://doc.rust-lang.org/stable/std/primitive.u32.html#method.next_multiple_of
  • Unsigned {integer}::checked_next_multiple_of https://doc.rust-lang.org/stable/std/primitive.u32.html#method.checked_next_multiple_of
  • std::ffi::FromBytesUntilNulError https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html
  • std::os::unix::fs::chown https://doc.rust-lang.org/stable/std/os/unix/fs/fn.chown.html
  • std::os::unix::fs::fchown https://doc.rust-lang.org/stable/std/os/unix/fs/fn.fchown.html
  • std::os::unix::fs::lchown https://doc.rust-lang.org/stable/std/os/unix/fs/fn.lchown.html
  • LocalKey::<Cell<T>>::get https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.get
  • LocalKey::<Cell<T>>::set https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set
  • LocalKey::<Cell<T>>::take https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take
  • LocalKey::<Cell<T>>::replace https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace
  • LocalKey::<RefCell<T>>::with_borrow https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow
  • LocalKey::<RefCell<T>>::with_borrow_mut https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.with_borrow_mut
  • LocalKey::<RefCell<T>>::set https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.set-1
  • LocalKey::<RefCell<T>>::take https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.take-1
  • LocalKey::<RefCell<T>>::replace https://doc.rust-lang.org/stable/std/thread/struct.LocalKey.html#method.replace-1

These APIs are now stable in const contexts:

  • rc::Weak::new https://doc.rust-lang.org/stable/alloc/rc/struct.Weak.html#method.new
  • sync::Weak::new https://doc.rust-lang.org/stable/alloc/sync/struct.Weak.html#method.new
  • NonNull::as_ref https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_ref

Cargo

  • Encode URL params correctly for SourceId in Cargo.lock.
  • Bail out an error when using cargo:: in custom build script.

Compatibility Notes

  • Update the minimum external LLVM to 15.
  • Check for non-defining uses of return position impl Trait.

Changes in rust:

  • Update to version 1.73.0 - for details see the rust1.73 package

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.4
    zypper in -t patch SUSE-2023-4067=1 openSUSE-SLE-15.4-2023-4067=1
  • openSUSE Leap 15.5
    zypper in -t patch openSUSE-SLE-15.5-2023-4067=1
  • Development Tools Module 15-SP4
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2023-4067=1
  • Development Tools Module 15-SP5
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP5-2023-4067=1

Package List:

  • openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 i586)
    • cargo1.73-debuginfo-1.73.0-150400.9.3.1
    • cargo-1.73.0-150400.24.27.1
    • cargo1.73-1.73.0-150400.9.3.1
    • rust-1.73.0-150400.24.27.1
    • rust1.73-debuginfo-1.73.0-150400.9.3.1
  • openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 i586 nosrc)
    • rust1.73-1.73.0-150400.9.3.1
  • openSUSE Leap 15.4 (nosrc)
    • rust1.73-test-1.73.0-150400.9.3.1
  • openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64)
    • cargo1.73-debuginfo-1.73.0-150400.9.3.1
    • cargo-1.73.0-150400.24.27.1
    • rust-1.73.0-150400.24.27.1
    • cargo1.73-1.73.0-150400.9.3.1
    • rust1.73-debuginfo-1.73.0-150400.9.3.1
  • openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 nosrc)
    • rust1.73-1.73.0-150400.9.3.1
  • Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64)
    • cargo1.73-debuginfo-1.73.0-150400.9.3.1
    • cargo-1.73.0-150400.24.27.1
    • rust-1.73.0-150400.24.27.1
    • cargo1.73-1.73.0-150400.9.3.1
    • rust1.73-debuginfo-1.73.0-150400.9.3.1
  • Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64 nosrc)
    • rust1.73-1.73.0-150400.9.3.1
  • Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64)
    • cargo1.73-debuginfo-1.73.0-150400.9.3.1
    • cargo-1.73.0-150400.24.27.1
    • rust-1.73.0-150400.24.27.1
    • cargo1.73-1.73.0-150400.9.3.1
    • rust1.73-debuginfo-1.73.0-150400.9.3.1
  • Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64 nosrc)
    • rust1.73-1.73.0-150400.9.3.1