Recommended update for rust, rust1.67

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

An update that contains one feature can now be installed.

Description:

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

Rust is shipped in version 1.67.0.

Changes in rust1.67:

Version 1.67.0 (2023-01-26)

Language

  • Make Sized predicates coinductive, allowing cycles.
  • [must_use]annotations onasync fnalso affect theFuture::Output`.

  • Elaborate supertrait obligations when deducing closure signatures.
  • Invalid literals are no longer an error under cfg(FALSE).
  • Unreserve braced enum variants in value namespace.

Compiler

  • Enable varargs support for calling conventions other than C or cdecl.
  • Add new MIR constant propagation based on dataflow analysis.
  • Optimize field ordering by grouping m*2^n-sized fields with equivalently aligned ones.
  • Stabilize native library modifier verbatim.

Added and removed targets:

  • Remove tier 3 linuxkernel targets Refer to Rust's platform support page for more information on Rust's tiered platform support.

Libraries

  • Merge crossbeam-channel into std::sync::mpsc.
  • Fix inconsistent rounding of 0.5 when formatted to 0 decimal places.
  • Derive Eq and Hash for ControlFlow.
  • Don't build compiler_builtins with -C panic=abort.

Stabilized APIs

  • {integer}::checked_ilog
  • {integer}::checked_ilog2
  • {integer}::checked_ilog10
  • {integer}::ilog
  • {integer}::ilog2
  • {integer}::ilog10
  • NonZeroU*::ilog2
  • NonZeroU*::ilog10
  • NonZero*::BITS

These APIs are now stable in const contexts:

  • char::from_u32
  • char::from_digit
  • char::to_digit
  • core::char::from_u32
  • core::char::from_digit

Compatibility Notes

  • The layout of repr(Rust) types now groups m*2^n-sized fields with equivalently aligned ones. This is intended to be an optimization, but it is also known to increase type sizes in a few cases for the placement of enum tags. As a reminder, the layout of repr(Rust) types is an implementation detail, subject to change.
  • 0.5 now rounds to 0 when formatted to 0 decimal places. This makes it consistent with the rest of floating point formatting that rounds ties toward even digits.
  • Chains of && and || will now drop temporaries from their sub-expressions in evaluation order, left-to-right. Previously, it was "twisted" such that the first expression dropped its temporaries last, after all of the other expressions dropped in order.
  • Underscore suffixes on string literals are now a hard error. This has been a future-compatibility warning since 1.20.0.
  • Stop passing -export-dynamic to wasm-ld.
  • mainis now mangled as__main_voidonwasm32-wasi`.
  • Cargo now emits an error if there are multiple registries in the configuration with the same index URL.

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 openSUSE-SLE-15.4-2023-290=1
  • Development Tools Module 15-SP4
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2023-290=1

Package List:

  • openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64)
    • cargo-1.67.0-150400.24.6.1
    • rust-1.67.0-150400.24.6.1
    • rust1.67-debuginfo-1.67.0-150400.9.3.1
    • cargo1.67-1.67.0-150400.9.3.1
    • cargo1.67-debuginfo-1.67.0-150400.9.3.1
  • openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 nosrc)
    • rust1.67-1.67.0-150400.9.3.1
  • Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64)
    • cargo-1.67.0-150400.24.6.1
    • rust-1.67.0-150400.24.6.1
    • rust1.67-debuginfo-1.67.0-150400.9.3.1
    • cargo1.67-1.67.0-150400.9.3.1
    • cargo1.67-debuginfo-1.67.0-150400.9.3.1
  • Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64 nosrc)
    • rust1.67-1.67.0-150400.9.3.1

References: