import BasicTypes ( Boxity(..) )
import HsSyn
-import TcHsSyn ( hsPatType )
+import TcHsSyn ( hsPatType, mkVanillaTuplePat )
import CoreSyn
import DsMonad -- the monadery used in the desugarer
bndrs_s = map snd stmtss_w_bndrs
-- pat is the pattern ((x1,..,xn), (y1,..,ym)) in the example above
- pat = noLoc (TuplePat pats Boxed)
+ pat = mkTuplePat pats
pats = map mk_hs_tuple_pat bndrs_s
-- Types of (x1,..,xn), (y1,..,yn) etc
mk_hs_tuple_expr ids = noLoc $ ExplicitTuple [ nlHsVar i | i <- ids ] Boxed
mk_hs_tuple_pat :: [Id] -> LPat Id
-mk_hs_tuple_pat [b] = nlVarPat b
-mk_hs_tuple_pat bs = noLoc $ TuplePat (map nlVarPat bs) Boxed
+mk_hs_tuple_pat bs = mkTuplePat (map nlVarPat bs)
\end{code}
-- Smart constructor for source tuple patterns
--
-mkTuplePat :: [LPat id] -> LPat id
+mkTuplePat :: [LPat Id] -> LPat Id
mkTuplePat [lpat] = lpat
-mkTuplePat lpats = noLoc $ TuplePat lpats Boxed
+mkTuplePat lpats = noLoc $ mkVanillaTuplePat lpats Boxed
-- Smart constructor for source tuple expressions
--