Provide a way to describe why newer versions are not selected #7929
Labels
A-dependency-resolution
Area: dependency resolution and the resolver
C-feature-request
Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`
S-needs-design
Status: Needs someone to work further on the design for the feature or fix. NOT YET accepted.
Describe the problem you are trying to solve
Sometimes it can be confusing why newer versions of a package are not selected by the resolver. It would be nice to have some way for Cargo to tell you that there is a newer version available, but it is not able to select it due to some requirement.
There are different reasons this can happen. Some I can think of:
cargo update
should print warnings for incompatible candidates #7167 for more details.links
collision (I think?)This is in spirit with #6199 and #5284, but this is not for errors but for when otherwise compatible versions are skipped.
Describe the solution you'd like
I'm not sure of the best way to convey this information. Maybe
cargo update -v
could include a detailed message? Or maybe make it part of CARGO_LOG? Or something else?It could say something like:
Example
Some examples using Cargo's test notation:
The text was updated successfully, but these errors were encountered: