Use HsForAllTelescope to avoid inferred, visible foralls
Currently, `HsForAllTy` permits the combination of `ForallVis` and `Inferred`, but you can't actually typecheck code that uses it (e.g., `forall {a} ->`). This patch refactors `HsForAllTy` to use a new `HsForAllTelescope` data type that makes a type-level distinction between visible and invisible `forall`s such that visible `forall`s do not track `Specificity`. That part of the patch is actually quite small; the rest is simply changing consumers of `HsType` to accommodate this new type. Fixes #18235. Bumps the `haddock` submodule.
parent
cf772f19
No related branches found
No related tags found
Pipeline #19911 failed
Stage: lint
Stage: quick-build
Stage: build
Stage: full-build
Stage: cleanup
Stage: packaging
Stage: testing
Showing
- compiler/GHC/Core/TyCo/Rep.hs 1 addition, 1 deletioncompiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/Type.hs 33 additions, 3 deletionscompiler/GHC/Core/Type.hs
- compiler/GHC/Hs/Decls.hs 5 additions, 3 deletionscompiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Extension.hs 6 additions, 0 deletionscompiler/GHC/Hs/Extension.hs
- compiler/GHC/Hs/Instances.hs 5 additions, 0 deletionscompiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Type.hs 94 additions, 63 deletionscompiler/GHC/Hs/Type.hs
- compiler/GHC/Hs/Utils.hs 13 additions, 12 deletionscompiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Docs.hs 1 addition, 1 deletioncompiler/GHC/HsToCore/Docs.hs
- compiler/GHC/HsToCore/Quote.hs 13 additions, 14 deletionscompiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Iface/Ext/Ast.hs 7 additions, 2 deletionscompiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Type.hs 1 addition, 2 deletionscompiler/GHC/Iface/Type.hs
- compiler/GHC/Parser.y 16 additions, 21 deletionscompiler/GHC/Parser.y
- compiler/GHC/Parser/PostProcess.hs 9 additions, 3 deletionscompiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/HsType.hs 42 additions, 16 deletionscompiler/GHC/Rename/HsType.hs
- compiler/GHC/Rename/Module.hs 1 addition, 1 deletioncompiler/GHC/Rename/Module.hs
- compiler/GHC/Tc/Deriv.hs 3 additions, 3 deletionscompiler/GHC/Tc/Deriv.hs
- compiler/GHC/Tc/Gen/HsType.hs 45 additions, 36 deletionscompiler/GHC/Tc/Gen/HsType.hs
- compiler/GHC/Tc/Gen/Sig.hs 8 additions, 6 deletionscompiler/GHC/Tc/Gen/Sig.hs
- compiler/GHC/Tc/Gen/Splice.hs 13 additions, 17 deletionscompiler/GHC/Tc/Gen/Splice.hs
- compiler/GHC/Tc/Module.hs 2 additions, 2 deletionscompiler/GHC/Tc/Module.hs
Loading
Please register or sign in to comment