SUSE-CU-2025:1638-1: Recommended update of bci/rust
sle-container-updates at lists.suse.com
sle-container-updates at lists.suse.com
Sat Mar 8 08:10:27 UTC 2025
SUSE Container Update Advisory: bci/rust
-----------------------------------------------------------------
Container Advisory ID : SUSE-CU-2025:1638-1
Container Tags : bci/rust:1.85 , bci/rust:1.85.0 , bci/rust:1.85.0-1.2.1 , bci/rust:latest , bci/rust:stable , bci/rust:stable-1.2.1
Container Release : 2.1
Severity : moderate
Type : recommended
References :
-----------------------------------------------------------------
The container bci/rust was updated. The following patches have been included in this update:
-----------------------------------------------------------------
Advisory ID: SUSE-RU-2025:773-1
Released: Tue Mar 4 08:48:41 2025
Summary: Recommended update for rust, rust1.85
Type: recommended
Severity: moderate
References:
This update for rust, rust1.85 fixes the following issues:
Rust Version 1.85.0 (2025-02-20)
==========================
Language
--------
- The 2024 Edition is now stable.
See the edition guide https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html for more details.
- Stabilize async closures
See RFC 3668 https://rust-lang.github.io/rfcs/3668-async-closures.html for more details.
- Stabilize `#[diagnostic::do_not_recommend]`
- Add `unpredictable_function_pointer_comparisons` lint to warn against function pointer comparisons
- Lint on combining `#[no_mangle]` and `#[export_name]` attributes.
Compiler
--------
- The unstable flag `-Zpolymorphize` has been removed, see https://github.com/rust-lang/compiler-team/issues/810 for some background.
Platform Support
----------------
- Promote `powerpc64le-unknown-linux-musl` to tier 2 with host tools
Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries
---------
- Panics in the standard library now have a leading `library/` in their path
- `std::env::home_dir()` on Windows now ignores the non-standard `$HOME` environment variable
It will be un-deprecated in a subsequent release.
- Add `AsyncFn*` to the prelude in all editions.
Stabilized APIs
---------------
- `BuildHasherDefault::new` https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new
- `ptr::fn_addr_eq` https://doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html
- `io::ErrorKind::QuotaExceeded` https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.QuotaExceeded
- `io::ErrorKind::CrossesDevices` https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.CrossesDevices
- `{float}::midpoint` https://doc.rust-lang.org/core/primitive.f32.html#method.midpoint
- Unsigned `{integer}::midpoint` https://doc.rust-lang.org/std/primitive.u64.html#method.midpoint
- `NonZeroU*::midpoint` https://doc.rust-lang.org/std/num/type.NonZeroU32.html#method.midpoint
- impl `std::iter::Extend` for tuples with arity 1 through 12 https://doc.rust-lang.org/stable/std/iter/trait.Extend.html#impl-Extend%3C(A,)%3E-for-(EA,)
- `FromIterator<(A, ...)>` for tuples with arity 1 through 12 https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html#impl-FromIterator%3C(EA,)%3E-for-(A,)
- `std::task::Waker::noop` https://doc.rust-lang.org/stable/std/task/struct.Waker.html#method.noop
These APIs are now stable in const contexts:
- `mem::size_of_val` https://doc.rust-lang.org/stable/std/mem/fn.size_of_val.html
- `mem::align_of_val` https://doc.rust-lang.org/stable/std/mem/fn.align_of_val.html
- `Layout::for_value` https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.for_value
- `Layout::align_to` https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align_to
- `Layout::pad_to_align` https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.pad_to_align
- `Layout::extend` https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend
- `Layout::array` https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.array
- `std::mem::swap` https://doc.rust-lang.org/stable/std/mem/fn.swap.html
- `std::ptr::swap` https://doc.rust-lang.org/stable/std/ptr/fn.swap.html
- `NonNull::new` https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.new
- `HashMap::with_hasher` https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.with_hasher
- `HashSet::with_hasher` https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.with_hasher
- `BuildHasherDefault::new` https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new
- `<float>::recip` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.recip
- `<float>::to_degrees` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_degrees
- `<float>::to_radians` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_radians
- `<float>::max` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.max
- `<float>::min` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.min
- `<float>::clamp` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp
- `<float>::abs` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.abs
- `<float>::signum` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.signum
- `<float>::copysign` https://doc.rust-lang.org/stable/std/primitive.f32.html#method.copysign
- `MaybeUninit::write` https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write
Cargo
-----
- Add future-incompatibility warning against keywords in cfgs and add raw-idents
- Stabilize higher precedence trailing flags
- Pass `CARGO_CFG_FEATURE` to build scripts
Rustdoc
-----
- Doc comment on impl blocks shows the first line, even when the impl block is collapsed
Compatibility Notes
-------------------
- `rustc` no longer treats the `test` cfg as a well known check-cfg, instead it is up to the build systems and users of `--check-cfg`[^check-cfg] to set it as a well known cfg using `--check-cfg=cfg(test)`.
his is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests.
Cargo (for now) unconditionally sets the `test` cfg as a well known cfg
^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html
- Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses
- `std::env::home_dir()` has been deprecated for years, because it can give surprising results in some Windows configurations if the `HOME` environment variable is set (which is not the normal configuration on Windows). We had previously avoided changing its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix. A subsequent release will remove the deprecation for this function.
- Make `core::ffi::c_char` signedness more closely match that of the platform-default `char`
This changed `c_char` from an `i8` to `u8` or vice versa on many Tier 2 and 3
targets (mostly Arm and RISC-V embedded targets). The new definition may
result in compilation failures but fixes compatibility issues with C.
The `libc` crate matches this change as of its 0.2.169 release.
- When compiling a nested `macro_rules` macro from an external crate, the content of the inner `macro_rules` is now built with the edition of the external crate, not the local crate.
- Increase `sparcv9-sun-solaris` and `x86_64-pc-solaris` Solaris baseline to 11.4.
- Show `abi_unsupported_vector_types` lint in future breakage reports
- Error if multiple super-trait instantiations of `dyn Trait` need associated types to be specified but only one is provided
- Change `powerpc64-ibm-aix` default `codemodel` to large
Internal Changes
----------------
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
- Build `x86_64-unknown-linux-gnu` with LTO for C/C++ code (e.g., `jemalloc`)
The following package changes have been done:
- rust1.85-1.85.0-150300.7.3.1 added
- cargo1.85-1.85.0-150300.7.3.1 added
- cargo1.84-1.84.0-150300.7.4.3 removed
- rust1.84-1.84.0-150300.7.4.3 removed
More information about the sle-container-updates
mailing list