Merge frontend improvements#1559
Conversation
This way, the special `ImplExpr::SelfImpl` is only valid within a trait declaration.
They weren't used anywhere. This also removes `IsState` which was an union of these traits.
In preparation for being able to insert new clauses after initial construction.
|
Wow, thank you, that's a lot of work! |
W95Psp
left a comment
There was a problem hiding this comment.
Looks great, thank you!
I've merged main and fixed a few regressions, but now I'm looking into more regressions on libcrux.
Will post an update whenever this is fixed.
|
I pushed another fix for the treatment of the new Self bounds in the engine. |
|
@W95Psp what's the status of this? |
|
Looking at it again now, should be ok! Running:
Those failed because of hashes, now I'm patching them. I fixed libcrux hashes in |
|
The CI from libcrux is green, let's see what hax' CI says. |
|
I pushed cryspen/libcrux#1136, let's merge this one. |
chore: update hardcodeded hashes following cryspen/hax#1559
These are the changes I made to the frontend for the purposes of Charon over the last few weeks. In rough order, the changes looks like:
Self: Traitclause to trait methods and consts (replaces Add an explicitSelf: Traitclause to trait assoc items #1541);ImplExpr::Builtinthat had some type errors (replaces FixImplExpr::Builtin#1543);Dropinformation;Stateinfrastructure a little bit (this is opinionated, you might disagree);dyn Traitpredicates;FullDef;FullDef; this is used in charon to monomorphize a crate graph.I fixed
import_thir.mlbut not all the engine tests pass. I'll leave that to you.The branch consists of a merge of about 10 branches that each could have been a PR; you can review merge-commit-by-merge-commit if you want, the bullet points above would be roughly the PR titles.