Type classes + tests restructuring + bug fixes #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces first-class support for Rocq type classes (though incomplete for complex ones w.r.t. indices), restructures the testing infrastructure, and fixes several code generation bugs.
Type Classes: Type classes are now extracted to C++ concepts with requires clauses, and type class instances become template structs with static methods. (closes Compilation of Rocq type classes to C++
concepts andstructs #2)Testing: The test infrastructure was modernized with dune-based test rules replacing shell scripts. Also added new tests for records and type classes.
Test results: