Recommended update for rust, rust1.65
| Announcement ID: | SUSE-RU-2022:4131-1 |
|---|---|
| Rating: | moderate |
| References: | |
| Affected Products: |
|
An update that has one fix can now be installed.
Description:
This update for rust, rust1.65 fixes the following issues:
This update provides rust1.65 (jsc#SLE-18626)
Version 1.65.0 (2022-11-03)
==========================
Language
- Error on
ascasts of enums with#[non_exhaustive]variants - Stabilize
let else - Stabilize generic associated types (GATs)
- Add lints
let_underscore_drop,let_underscore_lock, andlet_underscore_must_usefrom Clippy - Stabilize
breaking from arbitrary labeled blocks ("label-break-value") - Uninitialized integers, floats, and raw pointers are now considered immediate UB
sage of
MaybeUninitis the correct way to work with uninitialized memory. - Stabilize raw-dylib for Windows x86_64, aarch64, and thumbv7a
- Do not allow
Dropimpl on foreign ADTs
Compiler
- Stabilize -Csplit-debuginfo on Linux
- Use niche-filling optimization even when multiple variants have data
- Associated type projections are now verified to be well-formed prior to resolving the underlying type
- Stringify non-shorthand visibility correctly
- Normalize struct field types when unsizing
- Update to LLVM 15
- Fix aarch64 call abi to correctly zeroext when needed
- debuginfo: Generalize C++-like encoding for enums
- Add
special_module_namelint - Add support for generating unique profraw files by default when using
-C instrument-coverage - Allow dynamic linking for iOS/tvOS targets
Libraries
- Don't generate
PartialEq::nein derive(PartialEq) - Windows RNG: Use
BCRYPT_RNG_ALG_HANDLEby default - Forbid mixing
Systemwith direct system allocator calls - Document no support for writing to non-blocking stdio/stderr
std::layout::Layoutsize must not overflowisize::MAXwhen rounded up toalignThis also changes the safety conditions onLayout::from_size_align_unchecked.
Stabilized APIs
std::backtrace::BacktraceBound::as_refstd::io::read_to_string<*const T>::cast_mut<*mut T>::cast_constThse APIs are now stable in const contexts:<*const T>::offset_from<*mut T>::offset_from
Cargo
- Apply GitHub fast path even for partial hashes
- Do not add home bin path to PATH if it's already there
- Take priority into account within the pending queue This slightly optimizes job scheduling by Cargo, with typically small improvements on larger crate graph builds.
Compatibility Notes
std::layout::Layoutsize must not overflowisize::MAXwhen rounded up toalignThis also changes the safety conditions onLayout::from_size_align_unchecked.PollFnnow only implementsUnpinif the closure isUnpinThis is a possible breaking change if users were relying on the blanket unpin implementation. See discussion on the PR for details of why this change was made.- Drop ExactSizeIterator impl from std::char::EscapeAscii This is a backwards-incompatible change to the standard library's surface area, but is unlikely to affect real world usage.
- Do not consider a single repeated lifetime eligible for elision in the return type This behavior was unintentionally changed in 1.64.0, and this release reverts that change by making this an error again.
- Reenable disabled early syntax gates as future-incompatibility lints
- Update the minimum external LLVM to 13
- Don't duplicate file descriptors into stdio fds
- Sunset RLS
- Deny usage of
#![cfg_attr(..., crate_type = ...)]to set the crate type This strengthens the forward compatibility lint deprecated_cfg_attr_crate_type_name to deny. llvm-has-rust-patchesallows setting the build system to treat the LLVM as having Rust-specific patches This option may need to be set for distributions that are building Rust with a patched LLVM viallvm-config, not the built-in LLVM.
Changes in rust:
- Update to version 1.65.0 - for details see the rust1.65 package
- Enable armv6 again - bsc#1196328
This update also ships "cargo-auditable", a tool to embed crate information into ELF binaries.
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-4131=1 -
openSUSE Leap 15.4
zypper in -t patch openSUSE-SLE-15.4-2022-4131=1 -
Development Tools Module 15-SP3
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP3-2022-4131=1 -
Development Tools Module 15-SP4
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2022-4131=1
Package List:
-
openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64 i586)
- cargo1.65-1.65.0-150300.7.3.1
- cargo-auditable-0.5.2~0-150300.7.3.1
- cargo1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-1.65.0-150300.7.3.1
- rust-1.65.0-150300.21.38.1
- cargo-auditable-debugsource-0.5.2~0-150300.7.3.1
- cargo-auditable-debuginfo-0.5.2~0-150300.7.3.1
- cargo-1.65.0-150300.21.38.1
-
openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64)
- cargo1.65-1.65.0-150300.7.3.1
- cargo-auditable-0.5.2~0-150300.7.3.1
- cargo1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-1.65.0-150300.7.3.1
- rust-1.65.0-150300.21.38.1
- cargo-auditable-debugsource-0.5.2~0-150300.7.3.1
- cargo-auditable-debuginfo-0.5.2~0-150300.7.3.1
- cargo-1.65.0-150300.21.38.1
-
Development Tools Module 15-SP3 (aarch64 ppc64le s390x x86_64)
- cargo1.65-1.65.0-150300.7.3.1
- cargo-auditable-0.5.2~0-150300.7.3.1
- cargo1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-1.65.0-150300.7.3.1
- rust-1.65.0-150300.21.38.1
- cargo-auditable-debugsource-0.5.2~0-150300.7.3.1
- cargo-auditable-debuginfo-0.5.2~0-150300.7.3.1
- cargo-1.65.0-150300.21.38.1
-
Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64)
- cargo1.65-1.65.0-150300.7.3.1
- cargo-auditable-0.5.2~0-150300.7.3.1
- cargo1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-debuginfo-1.65.0-150300.7.3.1
- rust1.65-1.65.0-150300.7.3.1
- rust-1.65.0-150300.21.38.1
- cargo-auditable-debugsource-0.5.2~0-150300.7.3.1
- cargo-auditable-debuginfo-0.5.2~0-150300.7.3.1
- cargo-1.65.0-150300.21.38.1