Recommended update for rust, rust1.74

Announcement ID: SUSE-RU-2023:4592-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 contains one feature can now be installed.

Description:

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

Version 1.74.0 (2023-11-16)

Language

  • Codify that std::mem::Discriminant<T> does not depend on any lifetimes in T
  • Replace private_in_public lint with private_interfaces and private_bounds per RFC 2145. Read more in [RFC 2145(https://rust-lang.github.io/rfcs/2145-type-privacy.html).
  • Allow explicit #[repr(Rust)]
  • closure field capturing: don't depend on alignment of packed fields
  • Enable MIR-based drop-tracking for async blocks
  • Stabilize impl_trait_projections

Compiler

  • stabilize combining +bundle and +whole-archive link modifiers
  • Stabilize PATH option for --print KIND=PATH
  • Enable ASAN/LSAN/TSAN for *-apple-ios-macabi
  • Promote loongarch64-unknown-none* to Tier 2
  • Add i686-pc-windows-gnullvm as a tier 3 target

Libraries

  • Implement From<OwnedFd/Handle> for ChildStdin/out/err
  • Implement From<{&,&mut} [T; N]> for Vec<T> where T: Clone
  • impl Step for IP addresses
  • Implement From<[T; N]> for Rc<[T]> and Arc<[T]>
  • impl TryFrom<char> for u16
  • Stabilize io_error_other feature
  • Stabilize the Saturating type
  • Stabilize const_transmute_copy

Stabilized APIs

  • core::num::Saturating
  • impl From<io::Stdout> for std::process::Stdio
  • impl From<io::Stderr> for std::process::Stdio
  • impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}
  • impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}
  • std::ffi::OsString::from_encoded_bytes_unchecked
  • std::ffi::OsString::into_encoded_bytes
  • std::ffi::OsStr::from_encoded_bytes_unchecked
  • std::ffi::OsStr::as_encoded_bytes
  • std::io::Error::other
  • impl TryFrom<char> for u16
  • impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>
  • impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>
  • impl<T, const N: usize> From<[T; N]> for Arc<[T]>
  • impl<T, const N: usize> From<[T; N]> for Rc<[T]> Thse APIs are now stable in const contexts:
  • core::mem::transmute_copy
  • str::is_ascii

Cargo

  • fix: Set MSRV for internal packages
  • config: merge lists in precedence order
  • fix(update): Clarify meaning of --aggressive as --recursive
  • fix(update): Make -p more convenient by being positional
  • feat(help): Add styling to help output
  • feat(pkgid): Allow incomplete versions when unambigious
  • feat: stabilize credential-process and registry-auth
  • feat(cli): Add '-n' to dry-run
  • Add support for target.'cfg(..)'.linker
  • Stabilize --keep-going
  • feat: Stabilize lints

Rustdoc

  • Add warning block support in rustdoc
  • Accept additional user-defined syntax classes in fenced code blocks
  • rustdoc-search: add support for type parameters
  • rustdoc: show inner enum and struct in type definition for concrete type

Compatibility Notes

  • Raise minimum supported Apple OS versions
  • make Cell::swap panic if the Cells partially overlap
  • Reject invalid crate names in --extern
  • Don't resolve generic impls that may be shadowed by dyn built-in impls
  • The new impl From<{&,&mut} [T; N]> for Vec<T> is known to cause some inference failures with overly-generic code.

Changes in rust:

  • Update to version 1.74.0 - for details see the rust1.74 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-4592=1 openSUSE-SLE-15.4-2023-4592=1
  • openSUSE Leap 15.5
    zypper in -t patch openSUSE-SLE-15.5-2023-4592=1
  • Development Tools Module 15-SP4
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2023-4592=1
  • Development Tools Module 15-SP5
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP5-2023-4592=1

Package List:

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

References: