shield Recommended update for rust
SUSE-SLE-Module-Development-Tools-15-SP6-2025-474


This update for rust fixes the following issues: - Update to version 1.84.0 - for details see the rust1.84 package Version 1.84.0 (2025-01-09) ========================== Language -------- - Allow `#[deny]` inside `#[forbid]` as a no-op - Show a warning when `-Ctarget-feature` is used to toggle features that can lead to unsoundness due to ABI mismatches - Use the next-generation trait solver in coherence - Allow coercions to drop the principal of trait objects - Support `/` as the path separator for `include!()` in all cases on Windows - Taking a raw ref (`raw (const|mut)`) of a deref of a pointer (`*ptr`) is now safe - Stabilize s390x inline assembly - Stabilize Arm64EC inline assembly - Lint against creating pointers to immediately dropped temporaries - Execute drop glue when unwinding in an `extern "C"` function Compiler -------- - Add `--print host-tuple` flag to print the host target tuple and affirm the "target tuple" terminology over "target triple" - Declaring functions with a calling convention not supported on the current target now triggers a hard error - Set up indirect access to external data for `loongarch64-unknown-linux-{musl,ohos}` - Enable XRay instrumentation for LoongArch Linux targets - Extend the `unexpected_cfgs` lint to also warn in external macros - Stabilize WebAssembly `multivalue`, `reference-types`, and `tail-call` target features - Added Tier 2 support for the `wasm32v1-none` target Libraries --------- - Implement `From<&mut {slice}>` for `Box/Rc/Arc<{slice}>` - Move `<float>::copysign`, `<float>::abs`, `<float>::signum` to `core` - Add `LowerExp` and `UpperExp` implementations to `NonZero` - Implement `FromStr` for `CString` and `TryFrom<CString>` for `String` - `std::os::darwin` has been made public Stabilized APIs --------------- - `Ipv6Addr::is_unique_local` https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unique_local - `Ipv6Addr::is_unicast_link_local` https://doc.rust-lang.org/stable/core/net/struct.Ipv6Addr.html#method.is_unicast_link_local - `core::ptr::with_exposed_provenance` https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance.html - `core::ptr::with_exposed_provenance_mut` https://doc.rust-lang.org/stable/core/ptr/fn.with_exposed_provenance_mut.html - `<ptr>::addr` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.addr - `<ptr>::expose_provenance` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.expose_provenance - `<ptr>::with_addr` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.with_addr - `<ptr>::map_addr` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.map_addr - `<int>::isqrt` https://doc.rust-lang.org/stable/core/primitive.i32.html#method.isqrt - `<int>::checked_isqrt` https://doc.rust-lang.org/stable/core/primitive.i32.html#method.checked_isqrt - `<uint>::isqrt` https://doc.rust-lang.org/stable/core/primitive.u32.html#method.isqrt - `NonZero::isqrt` https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#impl-NonZero%3Cu128%3E/method.isqrt - `core::ptr::without_provenance` https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance.html - `core::ptr::without_provenance_mut` https://doc.rust-lang.org/stable/core/ptr/fn.without_provenance_mut.html - `core::ptr::dangling` https://doc.rust-lang.org/stable/core/ptr/fn.dangling.html - `core::ptr::dangling_mut` https://doc.rust-lang.org/stable/core/ptr/fn.dangling_mut.html - `Pin::as_deref_mut` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.as_deref_mut - `AtomicBool::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicBool.html#method.from_ptr - `AtomicPtr::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicPtr.html#method.from_ptr - `AtomicU8::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU8.html#method.from_ptr - `AtomicU16::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU16.html#method.from_ptr - `AtomicU32::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU32.html#method.from_ptr - `AtomicU64::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicU64.html#method.from_ptr - `AtomicUsize::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicUsize.html#method.from_ptr - `AtomicI8::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI8.html#method.from_ptr - `AtomicI16::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI16.html#method.from_ptr - `AtomicI32::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI32.html#method.from_ptr - `AtomicI64::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicI64.html#method.from_ptr - `AtomicIsize::from_ptr` https://doc.rust-lang.org/stable/core/sync/atomic/struct.AtomicIsize.html#method.from_ptr - `<ptr>::is_null` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.is_null-1 - `<ptr>::as_ref` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_ref-1 - `<ptr>::as_mut` https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.as_mut - `Pin::new` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new - `Pin::new_unchecked` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.new_unchecked - `Pin::get_ref` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_ref - `Pin::into_ref` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.into_ref - `Pin::get_mut` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_mut - `Pin::get_unchecked_mut` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.get_unchecked_mut - `Pin::static_ref` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_ref - `Pin::static_mut` https://doc.rust-lang.org/stable/core/pin/struct.Pin.html#method.static_mut Cargo ----- - Stabilize MSRV-aware resolver config - Stabilize resolver v3 Rustdoc ------- - rustdoc-search: improve type-driven search Compatibility Notes ------------------- - Enable by default the `LSX` target feature for LoongArch Linux targets - The unstable `-Zprofile` flag (“gcov-style” coverage instrumentation) has been removed. This does not affect the stable flags for coverage instrumentation (`-Cinstrument-coverage`) and profile-guided optimization (`-Cprofile-generate`, `-Cprofile-use`), which are unrelated and remain available. - Support for the target named `wasm32-wasi` has been removed as the target is now named `wasm32-wasip1`. This completes the transition plan for this target following the introduction of `wasm32-wasip1` in Rust 1.78. Compiler warnings on use of `wasm32-wasi` introduced in Rust 1.81 are now gone as well as the target is removed. - The syntax `&pin (mut|const) T` is now parsed as a type which in theory could affect macro expansion results in some edge cases - Legacy syntax for calling `std::arch` functions is no longer permitted to declare items or bodies (such as closures, inline consts, or async blocks). - Declaring functions with a calling convention not supported on the current target now triggers a hard error - The next-generation trait solver is now enabled for coherence, fixing multiple soundness issues

  • Release Date
    Feb 12 2025
  • References
  • Type
    recommended
  • Severity
    moderate

cloud_download Downloads

Development Tools Module 15.6 ppc64le
  • Packages
    cargo
    The Rust package manager
    1.84.0-150500.27.30.1 lock rpm
    cargo1.84
    The Rust package manager
    1.84.0-150300.7.4.3 lock rpm
    rust
    A systems programming language
    1.84.0-150500.27.30.1 lock rpm lock src
    rust1.84
    A systems programming language
    1.84.0-150300.7.4.3 lock rpm lock nosrc
    rust1.84-src
    The Rust Standard Library Source
    1.84.0-150300.7.4.3 lock rpm
Development Tools Module 15.6 s390x
  • Packages
    cargo
    The Rust package manager
    1.84.0-150500.27.30.1 lock rpm
    cargo1.84
    The Rust package manager
    1.84.0-150300.7.4.3 lock rpm
    rust
    A systems programming language
    1.84.0-150500.27.30.1 lock rpm lock src
    rust1.84
    A systems programming language
    1.84.0-150300.7.4.3 lock rpm lock nosrc
    rust1.84-src
    The Rust Standard Library Source
    1.84.0-150300.7.4.3 lock rpm
Development Tools Module 15.6 aarch64
  • Packages
    cargo
    The Rust package manager
    1.84.0-150500.27.30.1 lock rpm
    cargo1.84
    The Rust package manager
    1.84.0-150300.7.4.3 lock rpm
    rust
    A systems programming language
    1.84.0-150500.27.30.1 lock rpm lock src
    rust1.84
    A systems programming language
    1.84.0-150300.7.4.3 lock rpm lock nosrc
    rust1.84-src
    The Rust Standard Library Source
    1.84.0-150300.7.4.3 lock rpm
Development Tools Module 15.6 x86_64
  • Packages
    cargo
    The Rust package manager
    1.84.0-150500.27.30.1 lock rpm
    cargo1.84
    The Rust package manager
    1.84.0-150300.7.4.3 lock rpm
    rust
    A systems programming language
    1.84.0-150500.27.30.1 lock rpm lock src
    rust1.84
    A systems programming language
    1.84.0-150300.7.4.3 lock rpm lock nosrc
    rust1.84-src
    The Rust Standard Library Source
    1.84.0-150300.7.4.3 lock rpm