WIP: Strict TTG extension fields (#18764)
Before this patch, some of the TTG extension fields were non-strict:
data HsType pass
= ...
| HsTyVar (XTyVar pass) PromotionFlag (LIdP pass)
| HsAppTy (XAppTy pass) (LHsType pass) (LHsType pass)
| ...
Now they are strict:
data HsType pass
= ...
| HsTyVar !(XTyVar pass) PromotionFlag (LIdP pass)
| HsAppTy !(XAppTy pass) (LHsType pass) (LHsType pass)
| ...
See the ticket #18764 (or the commit message) for the motivation.
In addition to addressing the ticket, this patch also:
- removes the unused
XCoreAnn
andXTickPragma
- updates/adds comments in
GHC/Hs/Extension.hs