Merge dependencies more effectively in D.Solver.Modular.IndexConversion. #5035
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.
Please include the following checklist in your PR:
[ci skip]
is used to avoid triggering the build bots.Please also shortly describe how you tested your change. Bonus points for added tests!
This commit is a more thorough fix for the problem that
4f7ac10 attempted to fix. 4f7ac10 combined
all dependencies on the same package within the same build-depends or
build-tool-depends field, in order to avoid performance problems in the solver
QuickCheck tests. That wasn't enough to prevent the solver from creating many
duplicate dependencies when converting the PackageDescription to the
solver-specific format, though. When a package contained many conditionals that
each contained the same dependency in both branches, the solver lifted those
dependencies out of the conditionals without deduplicating them.
This commit moves the step that merges dependencies after the step that lifts
common dependencies out of conditionals.
This PR should fix the CI failures that appeared in #5023. The issue was introduced by #4929.