Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(msrv): Report all incompatible packages, not just a random one #13514

Merged
merged 2 commits into from Mar 1, 2024

Commits on Mar 1, 2024

  1. test(msrv): Use variables

    epage committed Mar 1, 2024
    Copy the full SHA
    41449f7 View commit details
    Browse the repository at this point in the history
  2. fix(msrv): Report all incompatible packages, not just a random one

    In rust-lang#9930, it recommended improving the error for incompatible packages
    so people can better get to the root of the problem.
    For example, you might get an error about `clap_lex` but resolving the
    error for the higher level `clap` could make the problem with `clap_lex`
    go away.
    
    Because I generally saw earlier packages in the graph reported, I
    assumed we were reporting these errors bottom up.
    It turns out, we are reporting them in the `UnitGraph`s order, which is
    non-deterministic because it is built on a `HashMap`.
    
    So this adds determinism and shows all incompatible dependencies
    (not just the bottom or the root).
    This is a first step.
    We might find that we still want to only include the shallowest units,
    rather than all.
    At that point, we can add the complexity to address this by walking the
    unit graph.
    
    We could also further improve this by querying the index to suggest
    compatible versions of packages.
    epage committed Mar 1, 2024
    Copy the full SHA
    90a681d View commit details
    Browse the repository at this point in the history