Implement specially-solved TagToEnum class
See #19915. Also implements #16989. Fixes #8318.
There are still several TODOs, and lots of missing documentation and tests. But it's coming along. Let's see what CI thinks so far.
TODOs:
-
Finish handling ExoticEnums inGHC.Core.Opt.ConstantFold -
(Look into the example in Note [Ticks and mandatory eta expansion]inGHC.CoreToStg.Prep -
Add various test cases -
Add/update release notes and changelog entries -
Write up a CLC ticket -
Find/make a GHC ticket for DataToTag/TagToEnuminstances in signature files
Edited by Matthew Craven