Recommended update for rust, rust1.75

Announcement ID: SUSE-RU-2024:0080-1
Rating: moderate
References:
Affected Products:
  • Development Tools Module 15-SP5
  • openSUSE Leap 15.5
  • SUSE Linux Enterprise Desktop 15 SP5
  • SUSE Linux Enterprise High Performance Computing 15 SP5
  • SUSE Linux Enterprise Real Time 15 SP5
  • SUSE Linux Enterprise Server 15 SP5
  • SUSE Linux Enterprise Server for SAP Applications 15 SP5

An update that contains one feature can now be installed.

Description:

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

This update ships rust 1.75.

Version 1.75.0 (2023-12-28)

Language

  • Stabilize async fn and return-position impl Trait in traits.
  • Allow function pointer signatures containing &mut T in const contexts.
  • Match usize/isize exhaustively with half-open ranges.
  • Guarantee that char has the same size and alignment as u32.
  • Document that the null pointer has the 0 address.
  • Allow partially moved values in match.
  • Add notes about non-compliant FP behavior on 32bit x86 targets.
  • Stabilize ratified RISC-V target features.

Compiler

  • Rework negative coherence to properly consider impls that only partly overlap.
  • Bump COINDUCTIVE_OVERLAP_IN_COHERENCE to deny, and warn in dependencies.
  • Consider alias bounds when computing liveness in NLL.
  • Add the V (vector) extension to the riscv64-linux-android target spec.
  • Automatically enable cross-crate inlining for small functions

Libraries

  • Override Waker::clone_from to avoid cloning Wakers unnecessarily.
  • Implement BufRead for VecDeque<u8>.
  • Implement FusedIterator for DecodeUtf16 when the inner iterator does.
  • Implement Not, Bit{And,Or}{,Assign} for IP addresses.
  • Implement Default for ExitCode.
  • Guarantee representation of None in NPO
  • Document when atomic loads are guaranteed read-only.
  • Broaden the consequences of recursive TLS initialization.
  • Windows: Support sub-millisecond sleep.
  • Fix generic bound of str::SplitInclusive's DoubleEndedIterator impl
  • Fix exit status / wait status on non-Unix cfg(unix) platforms.

Stabilized APIs

  • Atomic*::from_ptr
  • FileTimes
  • FileTimesExt
  • File::set_modified
  • File::set_times
  • IpAddr::to_canonical
  • Ipv6Addr::to_canonical
  • Option::as_slice
  • Option::as_mut_slice
  • pointer::byte_add
  • pointer::byte_offset
  • pointer::byte_offset_from
  • pointer::byte_sub
  • pointer::wrapping_byte_add
  • pointer::wrapping_byte_offset
  • pointer::wrapping_byte_sub

These APIs are now stable in const contexts:

  • Ipv6Addr::to_ipv4_mapped
  • MaybeUninit::assume_init_read
  • MaybeUninit::zeroed
  • mem::discriminant
  • mem::zeroed

Cargo

  • Add new packages to `[workspace.members
  • Allow version-less Cargo.toml manifests.
  • Make browser links out of HTML file paths.

Rustdoc

  • Accept less invalid Rust in rustdoc.
  • Document lack of object safety on affected traits.
  • Hide `#[repr(transparent)
  • Show enum discriminant if it is a C-like variant.

Compatibility Notes

  • Make misalignment a hard error in const contexts.
  • Fix detecting references to packed unsized fields.
  • Remove support for compiler plugins.

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.5
    zypper in -t patch SUSE-2024-80=1 openSUSE-SLE-15.5-2024-80=1
  • Development Tools Module 15-SP5
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP5-2024-80=1

Package List:

  • openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
    • cargo-1.75.0-150500.27.3.1
    • cargo1.75-debuginfo-1.75.0-150500.11.3.1
    • rust-1.75.0-150500.27.3.1
    • cargo1.75-1.75.0-150500.11.3.1
    • rust1.75-debuginfo-1.75.0-150500.11.3.1
  • openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586 nosrc)
    • rust1.75-1.75.0-150500.11.3.1
  • openSUSE Leap 15.5 (nosrc)
    • rust1.75-test-1.75.0-150500.11.3.2
  • Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64)
    • cargo-1.75.0-150500.27.3.1
    • cargo1.75-debuginfo-1.75.0-150500.11.3.1
    • rust-1.75.0-150500.27.3.1
    • cargo1.75-1.75.0-150500.11.3.1
    • rust1.75-debuginfo-1.75.0-150500.11.3.1
  • Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64 nosrc)
    • rust1.75-1.75.0-150500.11.3.1

References: