Recommended update for rust

Announcement ID: SUSE-RU-2024:0582-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 fixes the following issues:

  • Update to version 1.76.0 - for details see the rust1.76 package

Version 1.76.0 (2024-02-08)

Language

  • Document Rust ABI compatibility between various types
  • Also: guarantee that char and u32 are ABI-compatible
  • Warn against ambiguous wide pointer comparisons
  • Add lint ambiguous_wide_pointer_comparisons that supersedes clippy::vtable_address_comparisons

Compiler

  • Lint pinned #[must_use] pointers (in particular, Box<T> where T is #[must_use]) in unused_must_use.
  • Soundness fix: fix computing the offset of an unsized field in a packed struct
  • Soundness fix: fix dynamic size/align computation logic for packed types with dyn Trait tail
  • Add $message_type field to distinguish json diagnostic outputs
  • Enable Rust to use the EHCont security feature of Windows
  • Add tier 3 {x86_64,i686}-win7-windows-msvc targets
  • Add tier 3 aarch64-apple-watchos target
  • Add tier 3 arm64e-apple-ios & arm64e-apple-darwin targets

Refer to Rust's [platform support page for more information on Rust's tiered platform support.

Libraries

  • Add a column number to dbg!()
  • Add std::hash::{DefaultHasher, RandomState} exports
  • Fix rounding issue with exponents in fmt
  • Add T: ?Sized to RwLockReadGuard and RwLockWriteGuard's Debug impls.
  • Windows: Allow File::create to work on hidden files

Stabilized APIs

  • Arc::unwrap_or_clone (https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.unwrap_or_clone)
  • Rc::unwrap_or_clone (https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.unwrap_or_clone)
  • Result::inspect (https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect)
  • Result::inspect_err (https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect_err)
  • Option::inspect (https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.inspect)
  • type_name_of_val (https://doc.rust-lang.org/stable/std/any/fn.type_name_of_val.html)
  • std::hash::{DefaultHasher, RandomState} (https://doc.rust-lang.org/stable/std/hash/index.html#structs) These were previously available only through std::collections::hash_map.
  • ptr::{from_ref, from_mut} (https://doc.rust-lang.org/stable/std/ptr/fn.from_ref.html)
  • ptr::addr_eq (https://doc.rust-lang.org/stable/std/ptr/fn.addr_eq.html)

Cargo

See Cargo release notes at https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-176-2024-02-08 .

Rustdoc

  • Don't merge cfg and doc(cfg) attributes for re-exports
  • rustdoc: allow resizing the sidebar / hiding the top bar
  • rustdoc-search: add support for traits and associated types
  • rustdoc: Add highlighting for comments in items declaration

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

Package List:

  • openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
    • rust-1.76.0-150500.27.6.1
    • rust1.76-debuginfo-1.76.0-150500.11.3.1
    • cargo1.76-1.76.0-150500.11.3.1
    • cargo-1.76.0-150500.27.6.1
    • cargo1.76-debuginfo-1.76.0-150500.11.3.1
  • openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586 nosrc)
    • rust1.76-1.76.0-150500.11.3.1
  • openSUSE Leap 15.5 (nosrc)
    • rust1.76-test-1.76.0-150500.11.3.1
  • Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64)
    • rust-1.76.0-150500.27.6.1
    • rust1.76-debuginfo-1.76.0-150500.11.3.1
    • cargo1.76-1.76.0-150500.11.3.1
    • cargo-1.76.0-150500.27.6.1
    • cargo1.76-debuginfo-1.76.0-150500.11.3.1
  • Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64 nosrc)
    • rust1.76-1.76.0-150500.11.3.1

References: