Repository navigation
name the candidate's real requirement in the no-versions diagnostic - #582
Merged
notatallshaw merged 1 commit intoAug 5, 2026
Conversation
notatallshaw
changed the base branch from
main
to
bug/lookahead-blocker-range-repr
July 27, 2026 11:34
notatallshaw
force-pushed
the
bug/lookahead-decision-block-hides-requirement
branch
2 times, most recently
from
July 27, 2026 11:51
7352682 to
17c66ca
Compare
notatallshaw
force-pushed
the
bug/lookahead-blocker-range-repr
branch
from
August 3, 2026 14:07
cd7f2de to
0d375e4
Compare
The decision-block path already unions each rejected candidate's declared dep range for blocker widening. Read that union in the no-versions message so it names the range the candidate needs instead of negating the decided version, matching the range- and root-block paths.
notatallshaw
force-pushed
the
bug/lookahead-decision-block-hides-requirement
branch
from
August 3, 2026 14:22
17c66ca to
c9a466d
Compare
notatallshaw
marked this pull request as ready for review
August 5, 2026 03:32
notatallshaw
merged commit Aug 5, 2026
d828bf9
into
bug/lookahead-blocker-range-repr
59 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When every version of a package is rejected because it needs a version of a dependency that conflicts with one the resolver has already decided, the no-versions diagnostic printed
requires bar != 1.0. That reads as though anybarother than 1.0 would satisfy the candidate, which points away from the real conflict: the candidate actually needs a specific range (for examplebar==2.0) that happens to exclude the decided 1.0.The range-block and root-block paths already print
requires X in <range> but solution has it in <...>. The decision-block path now does the same, reading the declared dep range out of thepending_decision_dep_rangesunion the look-ahead already keeps, so it printsrequires bar in [2.0, 2.0] but solution has it in [1.0, 1.0].That accumulator arrived on main with #590 for blocker membership widening. This PR originally added a second one of its own; that half is dropped, and what is left is the diagnostic.
Stacked on #472, so both ranges render through
format_rangerather than the internal debug repr.