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

refactor(pkg): unrefutable constraints #11453

Merged
merged 1 commit into from
Feb 10, 2025

Conversation

rgrinberg
Copy link
Member

Reduce loading of unnecessary opam packages by making sure that every local package must not conflict with the constraints of local packages. Such packages can never be used for a solution, and loading them is pointless.

This is a large speed improvement for repos that write many constraints (such as bonsai for example).

Reduce loading of unnecessary opam packages by making sure that every
local package must not conflict with the constraints of local packages.
Such packages can never be used for a solution, and loading them is
pointless.

This is a large speed improvement for repos that write many constraints
(such as bonsai for example).

<!-- ps-id: cf770d91-1c12-43a4-aae7-2e721575acc7 -->

Signed-off-by: Rudi Grinberg <[email protected]>
~stats_updater
~constraints)
and local_packages' =
lazy
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of this "laziness" is just to allow the mutually recursive definition of Context.t and the local packages which require the context to evaluate their constraints.

@rgrinberg rgrinberg changed the title refactor(pkg): irrefutable constraints refactor(pkg): unrefutable constraints Feb 6, 2025
@rgrinberg rgrinberg merged commit ba63a07 into main Feb 10, 2025
13 of 27 checks passed
@rgrinberg rgrinberg deleted the ps/rr/refactor_pkg___irrefutable_constraints branch February 10, 2025 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants