cargo icon indicating copy to clipboard operation
cargo copied to clipboard

feat(resolve): Direct people to working around less optimal MSRV-resolver results

Open epage opened this issue 1 year ago • 3 comments

What does this PR try to resolve?

In discussing #14414, the general problem of the resolver picking a version older than a package needs for its MSRV (or lack of one) because of the MSRV of other packages came up. This tries to patch over that problem by telling users that a dependency might be able to be newer than the resolver selected.

The message is fairly generic and might be misread to be about any MSRV update which an MSRV fallback strategy allows, which would make the count off. The reason it is so generic is we don't know with precision why it was held back

  • Direct dependents may have a non-semver upper bound on the version as we aren't trying to unify the version requirements across direct dependents at this time
  • A dependency could have removed a feature without making a breaking change
    • This seems like it should instead be an error but thats a conversation for another day
  • ~~The user enabled -Zminimal-versions~~
    • This is now detected and the message skipped

Note: separate from this, we may also print the status suffix for this case if the package was not selected for update (e.g. passing --workspace).

How should we test and review this PR?

Additional information

epage avatar Sep 14 '24 03:09 epage

r? @ehuss

rustbot has assigned @ehuss. They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

rustbot avatar Sep 14 '24 03:09 rustbot

@joshtriplett this is a first pass at supporting a summary message and what wording we might use.

epage avatar Sep 14 '24 03:09 epage

:umbrella: The latest upstream changes (presumably #14568) made this pull request unmergeable. Please resolve the merge conflicts.

bors avatar Sep 21 '24 00:09 bors