summaryrefslogtreecommitdiff
path: root/compiler/GHC/Iface
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Iface')
-rw-r--r--compiler/GHC/Iface/Ext/Ast.hs9
-rw-r--r--compiler/GHC/Iface/Type.hs3
2 files changed, 8 insertions, 4 deletions
diff --git a/compiler/GHC/Iface/Ext/Ast.hs b/compiler/GHC/Iface/Ext/Ast.hs
index c50514ffe1..24a3aa7c5b 100644
--- a/compiler/GHC/Iface/Ext/Ast.hs
+++ b/compiler/GHC/Iface/Ext/Ast.hs
@@ -1633,8 +1633,13 @@ instance ToHie (LHsType GhcRn) where
instance ToHie (TScoped (LHsType GhcRn)) where
toHie (TS tsc (L span t)) = concatM $ makeNode t span : case t of
- HsForAllTy _ _ bndrs body ->
- [ toHie $ tvScopes tsc (mkScope $ getLoc body) bndrs
+ HsForAllTy _ tele body ->
+ let scope = mkScope $ getLoc body in
+ [ case tele of
+ HsForAllVis { hsf_vis_bndrs = bndrs } ->
+ toHie $ tvScopes tsc scope bndrs
+ HsForAllInvis { hsf_invis_bndrs = bndrs } ->
+ toHie $ tvScopes tsc scope bndrs
, toHie body
]
HsQualTy _ ctx body ->
diff --git a/compiler/GHC/Iface/Type.hs b/compiler/GHC/Iface/Type.hs
index 2b7802a544..6ed05e3338 100644
--- a/compiler/GHC/Iface/Type.hs
+++ b/compiler/GHC/Iface/Type.hs
@@ -31,8 +31,7 @@ module GHC.Iface.Type (
IfaceContext, IfaceBndr(..), IfaceOneShot(..), IfaceLamBndr,
IfaceTvBndr, IfaceIdBndr, IfaceTyConBinder,
IfaceForAllSpecBndr,
- IfaceForAllBndr, ArgFlag(..), AnonArgFlag(..),
- ForallVisFlag(..), ShowForAllFlag(..),
+ IfaceForAllBndr, ArgFlag(..), AnonArgFlag(..), ShowForAllFlag(..),
mkIfaceForAllTvBndr,
mkIfaceTyConKind,
ifaceForAllSpecToBndrs, ifaceForAllSpecToBndr,