-
Notifications
You must be signed in to change notification settings - Fork 17
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
Working around regressions in typeclass inference in F* #177
Conversation
I also added a drive-by fix that adds new hints for the correctness proofs. These are needed when upgrading F* and Z3. Since no code is changed, and it is related to the new F*, I folded it into this PR. |
This depends on cryspen/hax#440 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's get this in to unbreak ci.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like more changes are needed.
This is blocking everything else, so let's get this fixed.
`Output` is an associated type, and wasn't constrainted in terms of universes. Thus, F* would fail unifying types while using this instance because the associated type could be of any universe. This is causing the failure in cryspen/libcrux#177.
I think I understood why the TC resolution is failing, I think cryspen/hax#444 is solving the issue I've pushed a temporary commit that pins Hax to the branch of cryspen/hax#444, let's revert it when the PR is merged |
3ba0d7d
to
17ebe17
Compare
This PR fixes a couple of places where F* 2024.01.13 fails but F* 2023.09.03 used to succeed.
The issue appears when a typeclass instance is used within an arithmetic or logical expression.