Fix desugaring of unboxed tuples
[ghc-hetmet.git] / ghc / compiler / typecheck / TcHsSyn.lhs
index 4289c2c..c2355a0 100644 (file)
@@ -72,12 +72,13 @@ mkVanillaTuplePat pats box
   = TuplePat pats box (mkTupleTy box (length pats) (map hsPatType pats))
 
 hsPatType :: OutPat Id -> Type
-hsPatType pat = pat_type (unLoc pat)
+hsPatType (L _ pat) = pat_type pat
 
 pat_type (ParPat pat)             = hsPatType pat
 pat_type (WildPat ty)             = ty
 pat_type (VarPat var)             = idType var
 pat_type (VarPatOut var _)        = idType var
+pat_type (BangPat pat)            = hsPatType pat
 pat_type (LazyPat pat)            = hsPatType pat
 pat_type (LitPat lit)             = hsLitType lit
 pat_type (AsPat var pat)          = idType (unLoc var)
@@ -713,6 +714,10 @@ zonk_pat env (LazyPat pat)
   = do { (env', pat') <- zonkPat env pat
        ; return (env',  LazyPat pat') }
 
+zonk_pat env (BangPat pat)
+  = do { (env', pat') <- zonkPat env pat
+       ; return (env',  BangPat pat') }
+
 zonk_pat env (AsPat (L loc v) pat)
   = do { v' <- zonkIdBndr env v
        ; (env', pat') <- zonkPat (extendZonkEnv1 env v') pat