Use an empty data type in TTG extension constructors (#15247)
To avoid having to `panic` any time a TTG extension constructor is consumed, this MR introduces an uninhabited 'NoExtCon' type and uses that in every extension constructor's type family instance where it is appropriate. This also introduces a 'noExtCon' function which eliminates a 'NoExtCon', much like 'Data.Void.absurd' eliminates a 'Void'. I also renamed the existing `NoExt` type to `NoExtField` to better distinguish it from `NoExtCon`. Unsurprisingly, there is a lot of code churn resulting from this. Bumps the Haddock submodule. Fixes #15247.
Showing
- compiler/deSugar/Check.hs 7 additions, 7 deletionscompiler/deSugar/Check.hs
- compiler/deSugar/Coverage.hs 23 additions, 23 deletionscompiler/deSugar/Coverage.hs
- compiler/deSugar/Desugar.hs 1 addition, 1 deletioncompiler/deSugar/Desugar.hs
- compiler/deSugar/DsArrows.hs 6 additions, 6 deletionscompiler/deSugar/DsArrows.hs
- compiler/deSugar/DsBinds.hs 4 additions, 4 deletionscompiler/deSugar/DsBinds.hs
- compiler/deSugar/DsExpr.hs 9 additions, 9 deletionscompiler/deSugar/DsExpr.hs
- compiler/deSugar/DsForeign.hs 1 addition, 1 deletioncompiler/deSugar/DsForeign.hs
- compiler/deSugar/DsGRHSs.hs 4 additions, 4 deletionscompiler/deSugar/DsGRHSs.hs
- compiler/deSugar/DsListComp.hs 8 additions, 8 deletionscompiler/deSugar/DsListComp.hs
- compiler/deSugar/DsMeta.hs 31 additions, 31 deletionscompiler/deSugar/DsMeta.hs
- compiler/deSugar/DsUtils.hs 3 additions, 3 deletionscompiler/deSugar/DsUtils.hs
- compiler/deSugar/ExtractDocs.hs 13 additions, 13 deletionscompiler/deSugar/ExtractDocs.hs
- compiler/deSugar/Match.hs 8 additions, 8 deletionscompiler/deSugar/Match.hs
- compiler/deSugar/MatchLit.hs 4 additions, 4 deletionscompiler/deSugar/MatchLit.hs
- compiler/hieFile/HieAst.hs 4 additions, 4 deletionscompiler/hieFile/HieAst.hs
- compiler/hsSyn/Convert.hs 188 additions, 188 deletionscompiler/hsSyn/Convert.hs
- compiler/hsSyn/HsBinds.hs 37 additions, 37 deletionscompiler/hsSyn/HsBinds.hs
- compiler/hsSyn/HsDecls.hs 91 additions, 91 deletionscompiler/hsSyn/HsDecls.hs
- compiler/hsSyn/HsExpr.hs 125 additions, 124 deletionscompiler/hsSyn/HsExpr.hs
- compiler/hsSyn/HsExtension.hs 72 additions, 7 deletionscompiler/hsSyn/HsExtension.hs
Loading
Please register or sign in to comment