SUSE-CU-2024:3624-1: Recommended update of bci/rust
sle-container-updates at lists.suse.com
sle-container-updates at lists.suse.com
Sat Aug 10 07:22:36 UTC 2024
SUSE Container Update Advisory: bci/rust
-----------------------------------------------------------------
Container Advisory ID : SUSE-CU-2024:3624-1
Container Tags : bci/rust:1.79 , bci/rust:1.79-2.3.2 , bci/rust:oldstable , bci/rust:oldstable-2.3.2
Container Release : 3.2
Severity : moderate
Type : recommended
References :
-----------------------------------------------------------------
The container bci/rust was updated. The following patches have been included in this update:
-----------------------------------------------------------------
Advisory ID: SUSE-RU-2024:2188-1
Released: Tue Jun 25 05:34:08 2024
Summary: Recommended update for rust, rust1.79
Type: recommended
Severity: moderate
References:
This update for rust, rust1.79 fixes the following issues:
Changes in rust1.79:
Version 1.79.0 (2024-06-13)
==========================
Language
--------
- Stabilize inline `const {}` expressions.
- Prevent opaque types being instantiated twice with different regions within the same function.
- Stabilize WebAssembly target features that are in phase 4 and 5.
- Add the `redundant_lifetimes` lint to detect lifetimes which are semantically redundant.
- Stabilize the `unnameable_types` lint for public types that can't be named.
- Enable debuginfo in macros, and stabilize `-C collapse-macro-debuginfo` and `#[collapse_debuginfo]`.
- Propagate temporary lifetime extension into `if` and `match` expressions.
- Restrict promotion of `const fn` calls.
- Warn against refining impls of crate-private traits with `refining_impl_trait` lint.
- Stabilize associated type bounds (RFC 2289).
- Stabilize importing `main` from other modules or crates.
- Check return types of function types for well-formedness
- Rework `impl Trait` lifetime inference
- Change inductive trait solver cycles to be ambiguous
Compiler
--------
- Define `-C strip` to only affect binaries, not artifacts like `.pdb`.
- Stabilize `-Crelro-level` for controlling runtime link hardening.
- Stabilize checking of `cfg` names and values at compile-time with `--check-cfg`.
*Note that this only stabilizes the compiler part, the Cargo part is still unstable in this release.*
- Add `aarch64-apple-visionos` and `aarch64-apple-visionos-sim` tier 3 targets.
- Add `riscv32ima-unknown-none-elf` tier 3 target.
- Promote several Windows targets to tier 2: `aarch64-pc-windows-gnullvm`, `i686-pc-windows-gnullvm`, and `x86_64-pc-windows-gnullvm`.
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
---------
- Implement `FromIterator` for `(impl Default + Extend, impl Default + Extend)`.
- Implement `{Div,Rem}Assign<NonZero<X>>` on `X`.
- Document overrides of `clone_from()` in core/std.
- Link MSVC default lib in core.
- Caution against using `transmute` between pointers and integers.
- Enable frame pointers for the standard library.
Stabilized APIs
---------------
- `{integer}::unchecked_add` https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_add)
- `{integer}::unchecked_mul` https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_mul)
- `{integer}::unchecked_sub` https://doc.rust-lang.org/stable/core/primitive.i32.html#method.unchecked_sub)
- `<[T]>::split_at_unchecked` https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_unchecked)
- `<[T]>::split_at_mut_unchecked` https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
- `<[u8]>::utf8_chunks` https://doc.rust-lang.org/stable/core/primitive.slice.html#method.utf8_chunks)
- `str::Utf8Chunks` https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunks.html)
- `str::Utf8Chunk` https://doc.rust-lang.org/stable/core/str/struct.Utf8Chunk.html)
- `<*const T>::is_aligned` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned)
- `<*mut T>::is_aligned` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_aligned-1)
- `NonNull::is_aligned` https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_aligned)
- `<*const [T]>::len` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len)
- `<*mut [T]>::len` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.len-1)
- `<*const [T]>::is_empty` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty)
- `<*mut [T]>::is_empty` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_empty-1)
- `NonNull::<[T]>::is_empty` https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.is_empty)
- `CStr::count_bytes` https://doc.rust-lang.org/stable/core/ffi/c_str/struct.CStr.html#method.count_bytes)
- `io::Error::downcast` https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.downcast)
- `num::NonZero<T>` https://doc.rust-lang.org/stable/core/num/struct.NonZero.html)
- `path::absolute` https://doc.rust-lang.org/stable/std/path/fn.absolute.html)
- `proc_macro::Literal::byte_character` https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.byte_character)
- `proc_macro::Literal::c_string` https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.c_string)
These APIs are now stable in const contexts:
- `Atomic*::into_inner` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.into_inner)
- `io::Cursor::new` https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.new)
- `io::Cursor::get_ref` https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_ref)
- `io::Cursor::position` https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.position)
- `io::empty` https://doc.rust-lang.org/stable/std/io/fn.empty.html)
- `io::repeat` https://doc.rust-lang.org/stable/std/io/fn.repeat.html)
- `io::sink` https://doc.rust-lang.org/stable/std/io/fn.sink.html)
- `panic::Location::caller` https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller)
- `panic::Location::file` https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.file)
- `panic::Location::line` https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.line)
- `panic::Location::column` https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.column)
Cargo
-----
- Prevent dashes in `lib.name`, always normalizing to `_`.
- Stabilize MSRV-aware version requirement selection in `cargo add`.
- Switch to using `gitoxide` by default for listing files.
- Error on `[project]` in Edition 2024; `cargo fix --edition` will change it to `[package]`.
Rustdoc
-----
- Always display stability version even if it's the same as the containing item.
- Show a single search result for items with multiple paths.
- Support typing `/` in docs to begin a search.
Compatibility Notes
-------------------
- Update the minimum external LLVM to 17.
- `RustcEncodable` and `RustcDecodable` are soft-destabilized, to be removed
from the prelude in next edition.
- The `wasm_c_abi` future-incompatibility lint will warn about use of the
non-spec-compliant C ABI.
Use `wasm-bindgen v0.2.88` to generate forward-compatible bindings.
- Check return types of function types for well-formedness
The following package changes have been done:
- rust1.79-1.79.0-150500.11.3.1 added
- cargo1.79-1.79.0-150500.11.3.1 added
- container:sles15-image-15.6.0-47.11.6 updated
- cargo1.78-1.78.0-150500.11.3.1 removed
- rust1.78-1.78.0-150500.11.3.1 removed
More information about the sle-container-updates
mailing list