Recommended update for rust, rust1.66
| Announcement ID: | SUSE-RU-2022:4623-1 |
|---|---|
| Rating: | moderate |
| References: |
|
| Affected Products: |
|
An update that can now be installed.
Description:
This update for rust, rust1.66 fixes the following issues:
This update ships rust 1.66.
Version 1.66.0 (2022-12-15)
Language
- Permit specifying explicit discriminants on all
repr(Int)enumsrust #[repr(u8)] enum Foo { A(u8) = 0, B(i8) = 1, C(bool) = 42, } - Allow transmutes between the same type differing only in lifetimes
- Change constant evaluation errors from a deny-by-default lint to a hard error
- Trigger
must_useonimpl Traitfor supertraits This makesimpl ExactSizeIteratorrespect the existing#[must_use]annotation onIterator. - Allow
..Xand..=Xin patterns - Uplift
clippy::for_loops_over_fallibleslint into rustc - Stabilize
symoperands in inline assembly - Update to Unicode 15
- Opaque types no longer imply lifetime bounds This is a soundness fix which may break code that was erroneously relying on this behavior.
Compiler
- Add armv5te-none-eabi and thumbv5te-none-eabi tier 3 targets
- Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.
- Add support for linking against macOS universal libraries
Libraries
- Fix
#[derive(Default)]on a generic#[default]enum adding unnecessaryDefaultbounds - Update to Unicode 15
Stabilized APIs
proc_macro::Span::source_text](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.source_text)uX::{checked_add_signed, overflowing_add_signed, saturating_add_signed, wrapping_add_signed}](https://doc.rust-lang.org/stable/std/primitive.u8.html#method.checked_add_signed)iX::{checked_add_unsigned, overflowing_add_unsigned, saturating_add_unsigned, wrapping_add_unsigned}](https://doc.rust-lang.org/stable/std/primitive.i8.html#method.checked_add_unsigned)iX::{checked_sub_unsigned, overflowing_sub_unsigned, saturating_sub_unsigned, wrapping_sub_unsigned}](https://doc.rust-lang.org/stable/std/primitive.i8.html#method.checked_sub_unsigned)BTreeSet::{first, last, pop_first, pop_last}](https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html#method.first)BTreeMap::{first_key_value, last_key_value, first_entry, last_entry, pop_first, pop_last}](https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.first_key_value)- Add
AsFdimplementations for stdio lock types on WASI. impl TryFrom<Vec<T>> for Box<[T; N]>](https://doc.rust-lang.org/stable/std/boxed/struct.Box.html#impl-TryFrom%3CVec%3CT%2C%20Global%3E%3E-for-Box%3C%5BT%3B%20N%5D%2C%20Global%3E)core::hint::black_box](https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)Duration::try_from_secs_{f32,f64}](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.try_from_secs_f32)Option::unzip](https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.unzip)std::os::fd](https://doc.rust-lang.org/stable/std/os/fd/index.html)
Rustdoc
- Add Rustdoc warning for invalid HTML tags in the documentation
Cargo
- Added
cargo removeto remove dependencies from Cargo.toml](https://doc.rust-lang.org/nightly/cargo/commands/cargo-remove.html) cargo publishnow waits for the new version to be downloadable before exiting See [detailed release notes] for more.
Compatibility Notes
- Only apply
ProceduralMasqueradehack to older versions ofrental] - Don't export
__heap_baseand__data_endon wasm32-wasi.] - Don't export
__wasm_init_memoryon WebAssembly.] - Only export
__tls_*on wasm32-unknown-unknown.] - Don't link to
libresolvin libstd on Darwin] - Update libstd's libc to 0.2.135 (to make
libstdno longer pull inlibiconv.dylibon Darwin)] - Opaque types no longer imply lifetime bounds] This is a soundness fix which may break code that was erroneously relying on this behavior.
- Make
order_dependent_trait_objectsshow up in future-breakage reports] - Change std::process::Command spawning to default to inheriting the parent's signal mask]
Changes in rust:
- Update to version 1.66.0 - for details see the rust1.66 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 openSUSE-SLE-15.4-2022-4623=1 -
Development Tools Module 15-SP4
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2022-4623=1
Package List:
-
openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64)
- rust1.66-debuginfo-1.66.0-150400.9.3.1
- cargo1.66-debuginfo-1.66.0-150400.9.3.1
- cargo1.66-1.66.0-150400.9.3.1
- rust-1.66.0-150400.24.3.1
- cargo-1.66.0-150400.24.3.1
-
openSUSE Leap 15.4 (aarch64 ppc64le s390x x86_64 nosrc)
- rust1.66-1.66.0-150400.9.3.1
-
Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64)
- rust1.66-debuginfo-1.66.0-150400.9.3.1
- cargo1.66-debuginfo-1.66.0-150400.9.3.1
- cargo1.66-1.66.0-150400.9.3.1
- rust-1.66.0-150400.24.3.1
- cargo-1.66.0-150400.24.3.1
-
Development Tools Module 15-SP4 (aarch64 ppc64le s390x x86_64 nosrc)
- rust1.66-1.66.0-150400.9.3.1