Closed
Description
Heya, not sure whether we consider usability issues bugs, but, it seemed the closest option.
When configuring [patch]
es there are a variety of reasons the patch may not be used, resulting in a message like the following:
warning: Patch `SOMETHING` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
This gives a list of reasons that can be particularly difficult to debug, as well as the recommendation that cargo update
may help, which is particularly helpful when this message is printed by cargo update
. As an alternative, it would be great to print the specific reason the [patch]
wasn't used, and a proposed resolution, which I believe is in-line with other compiler error improvements.
Some possible examples:
warning: Patch `SOMETHING` was not used in the crate graph.
Patch version "0.14.0" from `../SOMETHING` does not meet package constraint ">0.15.0",
this may be resolved by updating the `SOMETHING` package version
warning: Patch `SOMETHING` was not used in the crate graph.
Patch version "0.14.0" does not match the package version in Cargo.lock,
this may be resolved by running `cargo update` to update the cargo lock file.
Related to: #8400