summaryrefslogtreecommitdiff
path: root/compiler/hsSyn/HsUtils.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/hsSyn/HsUtils.hs')
-rw-r--r--compiler/hsSyn/HsUtils.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/hsSyn/HsUtils.hs b/compiler/hsSyn/HsUtils.hs
index 16b2cf9dfd..62c153ef52 100644
--- a/compiler/hsSyn/HsUtils.hs
+++ b/compiler/hsSyn/HsUtils.hs
@@ -658,9 +658,10 @@ typeToLHsType ty
, hst_xqual = noExt
, hst_body = go tau })
- go ty@(ForAllTy {})
- | (tvs, tau) <- tcSplitForAllTys ty
- = noLoc (HsForAllTy { hst_bndrs = map go_tv tvs
+ go ty@(ForAllTy (Bndr _ argf) _)
+ | (tvs, tau) <- tcSplitForAllTysSameVis argf ty
+ = noLoc (HsForAllTy { hst_fvf = argToForallVisFlag argf
+ , hst_bndrs = map go_tv tvs
, hst_xforall = noExt
, hst_body = go tau })
go (TyVarTy tv) = nlHsTyVar (getRdrName tv)