Skip to content

Draft: Make a new "typecheck interface file" --- contains !2603

This patch aims takes a tab at #17843, namely making all modules write hi-tc for sake of build parallelism. It begins a TTG-style refactor on the iface file syntax (building off an earlier change @osa1 did for sake of post-codegen info) to better enforce what exactly is expected to be in each file. This may seem like overkill, but I think locking down the datastructures like that will pay for itself as the rest of the refactor can be more type-driven and less prone to human error. [Certainly I feel I will take far more revisions to not screw this up if I don't.]

This is heavily WIP because I do not know all the ways I need to TTG-ify the iface syntax. I would appreciate if someone could offer some guidance!

Please take a few moments to verify that your commits fulfill the following:

  • are either individually buildable or squashed
  • have commit messages which describe what they do (referring to Notes and tickets using #NNNN syntax when appropriate)
  • have added source comments describing your change. For larger changes you likely should add a Note and cross-reference it from the relevant places.
  • add a testcase to the testsuite.
  • replace this message with a description motivating your change

If you have any questions don't hesitate to open your merge request and inquire in a comment. If your patch isn't quite done yet please do add prefix your MR title with WIP:.

Edited by Andreas Klebinger

Merge request reports