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

Incorrect EPropGuards case in TVars instance for Expr #1569

Closed
qsctr opened this issue Aug 29, 2023 · 0 comments · Fixed by #1570
Closed

Incorrect EPropGuards case in TVars instance for Expr #1569

qsctr opened this issue Aug 29, 2023 · 0 comments · Fixed by #1570
Assignees
Labels
bug Something not working correctly parameterized modules Related to Cryptol's parameterized modules type-guards

Comments

@qsctr
Copy link
Contributor

qsctr commented Aug 29, 2023

The EPropGuards case in the TVars instance for Expr does not perform substitution inside the Type field of EPropGuards:

EPropGuards guards ty -> EPropGuards !$ (\(props, e) -> (apSubst su `fmap'` props, apSubst su e)) `fmap'` guards .$ ty

This is causing declarations in prop guards whose type mentions a module type parameter to not get instantiated properly by moduleInstance, which causes the bug in GaloisInc/saw-script#1923.

@qsctr qsctr added bug Something not working correctly parameterized modules Related to Cryptol's parameterized modules type-guards labels Aug 29, 2023
@qsctr qsctr self-assigned this Aug 29, 2023
bboston7 pushed a commit to GaloisInc/saw-script that referenced this issue Sep 1, 2023
Closes #1923

This change updates the cryptol submodule to pull in the fix for
constraint guards with types dependent on module parameters.

See GaloisInc/cryptol#1569 for the relevant
cryptol issue and GaloisInc/cryptol#1570 for the
fix.
bboston7 pushed a commit to GaloisInc/saw-script that referenced this issue Sep 1, 2023
Closes #1923

This change updates the cryptol submodule to pull in the fix for
constraint guards with types dependent on module parameters.

See GaloisInc/cryptol#1569 for the relevant
cryptol issue and GaloisInc/cryptol#1570 for the
fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something not working correctly parameterized modules Related to Cryptol's parameterized modules type-guards
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant