I am really excited that the MSRV-aware resolver for Cargo is now out, see https://blog.rust-lang.org/2025/01/09/Rust-1.84.0.html
I am hopeful that this will
- Reduce contentious arguments over what toolchain version to support
- Give maintainers the space to choose higher MSRVs, as they desire
I recognize the exact solution isn't perfect. It comes from several compromises involving both implementation details and end-user requirements.
I also recognize not everyone will agree with every choice made. For anyone coming into this conversation without context, the RFC devoted a lot of space (making it one of the largest RFCs) to the motivations for the decisions it made, including
- Breaking down different workflows and analyzing how they work today, see https://rust-lang.github.io/rfcs/3537-msrv-resolver.html#workflows
- Evaluating the proposed solution and alternatives against those workflows, see https://rust-lang.github.io/rfcs/3537-msrv-resolver.html#resolver-behavior
A lot of the RFC discussion (https://github.com/rust-lang/rfcs/pull/3537) also revolved around that.
In the end, each perspective is optimizing for different care abouts, making educated guesses on how the non-participants operate, and predicting how people's behavior will change with this RFC. There is no "right answer" and we moved forward with "an answer". See also https://github.com/rust-lang/rfcs/pull/3537#issuecomment-1968172897.
#rustlang