Recommended update for rust
| Announcement ID: | SUSE-RU-2024:0582-1 |
|---|---|
| Rating: | moderate |
| References: | |
| Affected Products: |
|
An update that contains one feature can now be installed.
Description:
This update for rust fixes the following issues:
- Update to version 1.76.0 - for details see the rust1.76 package
Version 1.76.0 (2024-02-08)
Language
- Document Rust ABI compatibility between various types
- Also: guarantee that char and u32 are ABI-compatible
- Warn against ambiguous wide pointer comparisons
- Add lint
ambiguous_wide_pointer_comparisonsthat supersedesclippy::vtable_address_comparisons
Compiler
- Lint pinned
#[must_use]pointers (in particular,Box<T>whereTis#[must_use]) inunused_must_use. - Soundness fix: fix computing the offset of an unsized field in a packed struct
- Soundness fix: fix dynamic size/align computation logic for packed types with dyn Trait tail
- Add
$message_typefield to distinguish json diagnostic outputs - Enable Rust to use the EHCont security feature of Windows
- Add tier 3 {x86_64,i686}-win7-windows-msvc targets
- Add tier 3 aarch64-apple-watchos target
- Add tier 3 arm64e-apple-ios & arm64e-apple-darwin targets
Refer to Rust's [platform support page for more information on Rust's tiered platform support.
Libraries
- Add a column number to
dbg!() - Add
std::hash::{DefaultHasher, RandomState}exports - Fix rounding issue with exponents in fmt
- Add T: ?Sized to
RwLockReadGuardandRwLockWriteGuard's Debug impls. - Windows: Allow
File::createto work on hidden files
Stabilized APIs
Arc::unwrap_or_clone(https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.unwrap_or_clone)Rc::unwrap_or_clone(https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.unwrap_or_clone)Result::inspect(https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect)Result::inspect_err(https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect_err)Option::inspect(https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.inspect)type_name_of_val(https://doc.rust-lang.org/stable/std/any/fn.type_name_of_val.html)std::hash::{DefaultHasher, RandomState}(https://doc.rust-lang.org/stable/std/hash/index.html#structs) These were previously available only throughstd::collections::hash_map.ptr::{from_ref, from_mut}(https://doc.rust-lang.org/stable/std/ptr/fn.from_ref.html)ptr::addr_eq(https://doc.rust-lang.org/stable/std/ptr/fn.addr_eq.html)
Cargo
See Cargo release notes at https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-176-2024-02-08 .
Rustdoc
- Don't merge cfg and doc(cfg) attributes for re-exports
- rustdoc: allow resizing the sidebar / hiding the top bar
- rustdoc-search: add support for traits and associated types
- rustdoc: Add highlighting for comments in items declaration
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.5
zypper in -t patch SUSE-2024-582=1 openSUSE-SLE-15.5-2024-582=1 -
Development Tools Module 15-SP5
zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP5-2024-582=1
Package List:
-
openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586)
- rust-1.76.0-150500.27.6.1
- rust1.76-debuginfo-1.76.0-150500.11.3.1
- cargo1.76-1.76.0-150500.11.3.1
- cargo-1.76.0-150500.27.6.1
- cargo1.76-debuginfo-1.76.0-150500.11.3.1
-
openSUSE Leap 15.5 (aarch64 ppc64le s390x x86_64 i586 nosrc)
- rust1.76-1.76.0-150500.11.3.1
-
openSUSE Leap 15.5 (nosrc)
- rust1.76-test-1.76.0-150500.11.3.1
-
Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64)
- rust-1.76.0-150500.27.6.1
- rust1.76-debuginfo-1.76.0-150500.11.3.1
- cargo1.76-1.76.0-150500.11.3.1
- cargo-1.76.0-150500.27.6.1
- cargo1.76-debuginfo-1.76.0-150500.11.3.1
-
Development Tools Module 15-SP5 (aarch64 ppc64le s390x x86_64 nosrc)
- rust1.76-1.76.0-150500.11.3.1