.Rust Toolset rebased to version 1.84.0
Rust Toolset has been updated to version 1.84.0. Notable enhancements since the previously available version 1.79.0 include:
* New `LazyCell` and `LazyLock` types delay initialization until first use.
These extend the earlier `OnceCell` and `OnceLock` types with the
initialization function included directly in each instance.
* New sort implementations in the standard library improve runtime performance
and compile times. They also try to detect cases where a comparator isn't
producing a total order, making that panic instead of returning unsorted data.
* Precise capturing for opaque return types: new `use<..>` syntax specifies the
generic parameters and lifetimes used in an `impl Trait` return type.
* Many new features for `const` code, including floating point support, `const`
immediates for inline assembly, references to statics, and mutable references
and pointers.
* Many new features for `unsafe` code, including strict provenance APIs, `&raw`
pointer syntax, safely addressing statics, and declaring safe items in unsafe
`extern` blocks.
* Version-aware Cargo dependency resolver: if a dependency crate specifies its
minimum supported `rust-version`, this is taken into consideration when Cargo
resolves the dependency graph, rather than greedily choosing the latest
semver-compatible crate version available.
Compatibility notes:
* WASI target change: `rust-std-static-wasm32-wasi` is now
replaced by `rust-std-static-wasm32-wasip1`, which is used
as `--target wasm32-wasip1` on the command line.
See
https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html
* Split panic hook and panic handler arguments: `core::panic::PanicInfo`
and `std::panic::PanicInfo` are now different types.
* Abort on uncaught panics in `extern "C"` functions -- it is now required to
use `extern "C-unwind"` to allow unwinding across ABI boundaries.
Rust Toolset is a rolling Application Stream, and only the latest version is supported. For more information, see the link:
https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle] document.