Recommended update for rust, rust1.67
| Announcement ID: | SUSE-RU-2023:0290-1 |
|---|---|
| Rating: | moderate |
| References: | |
| Affected Products: |
|
An update that contains one feature can now be installed.
Description:
This update for rust, rust1.67 fixes the following issues:
Rust is shipped in version 1.67.0.
Changes in rust1.67:
Version 1.67.0 (2023-01-26)
Language
- Make
Sizedpredicates coinductive, allowing cycles. -
[must_use]
annotations onasync fnalso affect theFuture::Output`. - Elaborate supertrait obligations when deducing closure signatures.
- Invalid literals are no longer an error under
cfg(FALSE). - Unreserve braced enum variants in value namespace.
Compiler
- Enable varargs support for calling conventions other than
Corcdecl. - Add new MIR constant propagation based on dataflow analysis.
- Optimize field ordering by grouping m*2^n-sized fields with equivalently aligned ones.
- Stabilize native library modifier
verbatim.
Added and removed targets:
- Remove tier 3
linuxkerneltargets Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries
- Merge
crossbeam-channelintostd::sync::mpsc. - Fix inconsistent rounding of 0.5 when formatted to 0 decimal places.
- Derive
EqandHashforControlFlow. - Don't build
compiler_builtinswith-C panic=abort.
Stabilized APIs
- {integer}::checked_ilog
- {integer}::checked_ilog2
- {integer}::checked_ilog10
- {integer}::ilog
- {integer}::ilog2
- {integer}::ilog10
- NonZeroU*::ilog2
- NonZeroU*::ilog10
- NonZero*::BITS
These APIs are now stable in const contexts:
- char::from_u32
- char::from_digit
- char::to_digit
- core::char::from_u32
- core::char::from_digit
Compatibility Notes
- The layout of
repr(Rust)types now groups m*2^n-sized fields with equivalently aligned ones. This is intended to be an optimization, but it is also known to increase type sizes in a few cases for the placement of enum tags. As a reminder, the layout ofrepr(Rust)types is an implementation detail, subject to change. - 0.5 now rounds to 0 when formatted to 0 decimal places. This makes it consistent with the rest of floating point formatting that rounds ties toward even digits.
- Chains of
&&and||will now drop temporaries from their sub-expressions in evaluation order, left-to-right. Previously, it was "twisted" such that the first expression dropped its temporaries last, after all of the other expressions dropped in order. - Underscore suffixes on string literals are now a hard error. This has been a future-compatibility warning since 1.20.0.
- Stop passing
-export-dynamictowasm-ld. - main
is now mangled as__main_voidonwasm32-wasi`. - Cargo now emits an error if there are multiple registries in the configuration with the same index URL.
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 openSUSE-SLE-15.4-2023-290=1 -
Development Tools Module 15-SP4
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2023-290=1
Package List:
-
openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64)
- cargo-1.67.0-150400.24.6.1
- rust-1.67.0-150400.24.6.1
- rust1.67-debuginfo-1.67.0-150400.9.3.1
- cargo1.67-1.67.0-150400.9.3.1
- cargo1.67-debuginfo-1.67.0-150400.9.3.1
-
openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 nosrc)
- rust1.67-1.67.0-150400.9.3.1
-
Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64)
- cargo-1.67.0-150400.24.6.1
- rust-1.67.0-150400.24.6.1
- rust1.67-debuginfo-1.67.0-150400.9.3.1
- cargo1.67-1.67.0-150400.9.3.1
- cargo1.67-debuginfo-1.67.0-150400.9.3.1
-
Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64 nosrc)
- rust1.67-1.67.0-150400.9.3.1