Potential fix for Ambiguous Resolvable bug in transitive dependency resolution #367
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.
If an inexact dependency is specified, and a transitive dependency
with either a pin or a tighter bound is found later, Ambiguous
Resolvable can be raised. This is because the latest package is added
to processed_packages and then by the time the transitive dep runs
through the while resolvables loop, it's version doesn't match the
one found in processed_packages and Ambiguous Resolvable is raised.
This patch fixes it by 1) not raising an error if the packages don't
match and 2) after all resolvables are processed, loop back through
distributions and recreate the correct list of distributions from
resolvable_set.packages().
Fixes: #366