Recommended update for rust, rust1.62

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

An update that contains one feature can now be installed.

Description:

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

This update delivers rust1.62.

  • Improve support for wasi targets

Version 1.62.1 (2022-07-19)

Rust 1.62.1 addresses a few recent regressions in the compiler and standard library, and also mitigates a CPU vulnerability on Intel SGX. * The compiler fixed unsound function coercions involving impl Trait return types. * The compiler fixed an incremental compilation bug with async fn lifetimes. * Windows added a fallback for overlapped I/O in synchronous reads and writes. * The x86_64-fortanix-unknown-sgx target added a mitigation for the MMIO stale data vulnerability, advisory [INTEL-SA-00615].

  • Experimental support for wasi targets

Version 1.62.0 (2022-06-30)

Language

  • Stabilize #[derive(Default)] on enums with a #[default] variant
  • Teach flow sensitive checks that visibly uninhabited call expressions never return
  • Fix constants not getting dropped if part of a diverging expression
  • Support unit struct/enum variant in destructuring assignment][95380
  • Remove mutable_borrow_reservation_conflict lint and allow the code pattern

Compiler

  • linker: Stop using whole-archive on dependencies of dylibs
  • Make unaligned_references lint deny-by-default This lint is also a future compatibility lint, and is expected to eventually become a hard error.
  • Only add codegen backend to dep info if -Zbinary-dep-depinfo is used
  • Reject #[thread_local] attribute on non-static items
  • Add tier 3 aarch64-pc-windows-gnullvm and x86_64-pc-windows-gnullvm targets*
  • Implement a lint to warn about unused macro rules
  • Promote x86_64-unknown-none target to Tier 2
  • Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.

Libraries

  • Windows: Use a pipe relay for chaining pipes
  • Replace Linux Mutex and Condvar with futex based ones.
  • Replace RwLock by a futex based one on Linux
  • std: directly use pthread in UNIX parker implementation

Stabilized APIs

  • bool::then_some
  • f32::total_cmp
  • f64::total_cmp
  • Stdin::lines
  • windows::CommandExt::raw_arg
  • impl<T: Default> Default for AssertUnwindSafe<T>
  • From<Rc<str>> for Rc<[u8]> rc-u8-from-str
  • From<Arc<str>> for Arc<[u8]> arc-u8-from-str
  • FusedIterator for EncodeWide
  • RDM intrinsics on aarch64 stdarch/1285

Clippy

  • Create clippy lint against unexpectedly late drop for temporaries in match scrutinee expressions

Cargo

  • Added the cargo add command for adding dependencies to Cargo.toml from the command-line. docs
  • Package ID specs now support name@version syntax in addition to the previous name:version to align with the behavior in cargo add and other tools. cargo install and cargo yank also now support this syntax so the version does not need to passed as a separate flag.
  • The git and registry directories in Cargo's home directory (usually ~/.cargo) are now marked as cache directories so that they are not included in backups or content indexing (on Windows).
  • Added automatic @ argfile support, which will use "response files" if the command-line to rustc exceeds the operating system's limit.

Compatibility Notes

  • cargo test now passes --target to rustdoc if the specified target is the same as the host target.
  • rustdoc: doctests are now run on unexported macro_rules! macros, matching other private items
  • rustdoc: Remove .woff font files
  • Enforce Copy bounds for repeat elements while considering lifetimes
  • Windows: Fix potentinal unsoundness by aborting if File reads or writes cannot complete synchronously.

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.3
    zypper in -t patch SUSE-2022-2690=1
  • openSUSE Leap 15.4
    zypper in -t patch openSUSE-SLE-15.4-2022-2690=1
  • Development Tools Module 15-SP3
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP3-2022-2690=1
  • Development Tools Module 15-SP4
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2022-2690=1

Package List:

  • openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586)
    • cargo1.62-debuginfo-1.62.1-150300.7.4.1
    • cargo1.62-1.62.1-150300.7.4.1
    • rust1.62-debuginfo-1.62.1-150300.7.4.1
    • rust1.62-1.62.1-150300.7.4.1
    • rust-1.62.0-150300.21.29.1
    • cargo-1.62.0-150300.21.29.1
  • openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64)
    • cargo1.62-debuginfo-1.62.1-150300.7.4.1
    • cargo1.62-1.62.1-150300.7.4.1
    • rust1.62-debuginfo-1.62.1-150300.7.4.1
    • rust1.62-1.62.1-150300.7.4.1
    • rust-1.62.0-150300.21.29.1
    • cargo-1.62.0-150300.21.29.1
  • Development Tools Module 15-SP3 (aarch64 ppc64le s390x x86_64)
    • cargo1.62-debuginfo-1.62.1-150300.7.4.1
    • cargo1.62-1.62.1-150300.7.4.1
    • rust1.62-debuginfo-1.62.1-150300.7.4.1
    • rust1.62-1.62.1-150300.7.4.1
    • rust-1.62.0-150300.21.29.1
    • cargo-1.62.0-150300.21.29.1
  • Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64)
    • cargo1.62-debuginfo-1.62.1-150300.7.4.1
    • cargo1.62-1.62.1-150300.7.4.1
    • rust1.62-debuginfo-1.62.1-150300.7.4.1
    • rust1.62-1.62.1-150300.7.4.1
    • rust-1.62.0-150300.21.29.1
    • cargo-1.62.0-150300.21.29.1

References: