Rust 1.84 stabilizes the minimum supported Rust version (MSRV) aware resolver, which prefers dependency versions compatible with the project’s declared MSRV. Through MSRV-aware version selection, the toil is reduced for maintainers to support older toolchains by not having to manually select older versions for each dependency. Developers can opt-in to the MSRV-aware resolver via .cargo/config.toml.
Also in Rust 1.84, the Rust compiler is in the process of moving to a new implementation for the trait solver. The next-generation trait solver is a reimplementation of a core component of Rust’s type system and responsible for checking whether trait-bounds hold, the Rust team said. It also is used by other parts of the type system, such as normalization and equating types. With version 1.84, the new solver is used for checking coherence of trait impls, ensuring there is at most one implementation of a trait for a given type. This fixes some theoretical correctness issues of the old implementation.
Rust 1.84 also stabilizes more than a dozen APIs. Rust 1.84 follows the late-November release of Rust 1.83, which expanded capabilities for code running in const contexts.