10000 fix(types): Do not call `TE.find` on imported variables in n-way join by bclement-ocp · Pull Request #4212 · oxcaml/oxcaml · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fix(types): Do not call TE.find on imported variables in n-way join #4212

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bclement-ocp
Copy link
Contributor

The new join algorithm can fail with a "missing cmx and kind" error when creating a new existential variable that is equal in at least one of the branches to an imported variable for which we do not have type information.

This patch threads enough kind information to the places where this can occur, making sure that we only call TE.find with an unknown kind on variables that have been demoted and hence cannot have been imported from another compilation unit.

The new join algorithm can fail with a "missing cmx and kind" error
when creating a new existential variable that is equal in at least one
of the branches to an imported variable for which we do not have type
information.

This patch threads enough kind information to the places where this can
occur, making sure that we only call `TE.find` with an unknown kind on
variables that have been demoted and hence cannot have been imported
from another compilation unit.
@bclement-ocp bclement-ocp requested a review from lthls June 27, 2025 09:10
@bclement-ocp bclement-ocp added bug Something isn't working flambda2 Prerequisite for, or part of, flambda2 labels Jun 27, 2025
Copy link
Contributor
@lthls lthls left a comment

Choose a reason for hiding this comment

The reason will be displaye 8C4C d to describe this comment to others. Learn more.

Looks ok for a temporary fix. Hopefully we can solve this for good by storing kinds on variables, before we hit the corner cases where kinds are missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working flambda2 Prerequisite for, or part of, flambda2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0