Skip to content

Clean up boot vs non-boot disambiguating types

John Ericson requested to merge Ericson2314/ghc:boot-disambig into master

Haddock PR: https://github.com/haskell/haddock/pull/1185

We often have (ModuleName, Bool) or (Module, Bool) pairs for "extended" module names (without or with a unit id) disambiguating boot and normal modules. I think this is important enough across the compiler that it deserves a new nominal product type.

With that written, I think the IsBoot enum type in GhcMake is overkill; just use the same product. I first tried to use both the custom product and enum everywhere---against my judgement but in order to make sure we never regressed in inference or boolean blindness---but the refactor was annoying so I so switched tacks.

  • 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 John Ericson

Merge request reports