diff options
Diffstat (limited to 'compiler/GHC/Tc/Utils/Zonk.hs')
-rw-r--r-- | compiler/GHC/Tc/Utils/Zonk.hs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/GHC/Tc/Utils/Zonk.hs b/compiler/GHC/Tc/Utils/Zonk.hs index 0e34d97c46..12d5918463 100644 --- a/compiler/GHC/Tc/Utils/Zonk.hs +++ b/compiler/GHC/Tc/Utils/Zonk.hs @@ -131,7 +131,7 @@ hsPatType (ConPat { pat_con = lcon } }) = conLikeResTy (unLoc lcon) tys -hsPatType (SigPat ty _ _) = ty +hsPatType (SigPat _ _ (HsPS _ (L _ ty))) = hsttc_type . hsTypeTc $ ty hsPatType (NPat ty _ _ _) = ty hsPatType (NPlusKPat ty _ _ _ _ _) = ty hsPatType (XPat (CoPat _ _ ty)) = ty @@ -841,10 +841,10 @@ zonkExpr env (HsApp x e1 e2) new_e2 <- zonkLExpr env e2 return (HsApp x new_e1 new_e2) -zonkExpr env (HsAppType ty e t) +zonkExpr env (HsAppType _ e (HsWC field (L l (XHsType (HsTypeTc ty t))))) = do new_e <- zonkLExpr env e new_ty <- zonkTcTypeToTypeX env ty - return (HsAppType new_ty new_e t) + return (HsAppType noExtField new_e (HsWC field (L l (XHsType (HsTypeTc new_ty t))))) -- NB: the type is an HsType; can't zonk that! zonkExpr _ e@(HsRnBracketOut _ _ _) @@ -1510,10 +1510,10 @@ zonk_pat env p@(ConPat { pat_con = L _ con zonk_pat env (LitPat x lit) = return (env, LitPat x lit) -zonk_pat env (SigPat ty pat hs_ty) +zonk_pat env (SigPat _ pat (HsPS ext (L l (XHsType (HsTypeTc ty hs_ty))))) = do { ty' <- zonkTcTypeToTypeX env ty ; (env', pat') <- zonkPat env pat - ; return (env', SigPat ty' pat' hs_ty) } + ; return (env', SigPat noExtField pat' (HsPS ext (L l (XHsType (HsTypeTc ty' hs_ty))))) } zonk_pat env (NPat ty (L l lit) mb_neg eq_expr) = do { (env1, eq_expr') <- zonkSyntaxExpr env eq_expr |