New syntax for GADT-style record declarations, and associated refactoring
[ghc-hetmet.git] / compiler / rename / RnPat.lhs
index 55155d7..ac35fe5 100644 (file)
@@ -58,11 +58,11 @@ import Literal              ( inCharRange )
 \end{code}
 
 
-*********************************************************
-*                                                      *
+%*********************************************************
+%*                                                     *
 \subsection{Patterns}
-*                                                      *
-*********************************************************
+%*                                                     *
+%*********************************************************
 
 \begin{code}
 -- externally abstract type of name makers,
@@ -212,7 +212,7 @@ rnLPatAndThen var@(NM varf) (L loc p) cont =
                -- (e.g. in the pattern (x, x -> y) x needs to be bound in the rhs of the tuple)
                                      
          SigPatIn pat ty -> do
-             patsigs <- doptM Opt_PatternSignatures
+             patsigs <- doptM Opt_ScopedTypeVariables
              if patsigs
               then rnLPatAndThen var pat
                       (\ pat' -> do { (ty', fvs1) <- rnHsTypeFVs tvdoc ty
@@ -296,9 +296,9 @@ rnLPatAndThen var@(NM varf) (L loc p) cont =
               ; rnLPatsAndThen var pats $ \ patslist ->
                 lcont (TuplePat patslist boxed placeHolderType) }
 
-         TypePat name -> 
-           do { (name', fvs1) <- rnHsTypeFVs (text "In a type pattern") name
-             ; (res, fvs2) <- lcont (TypePat name')
+         TypePat ty -> 
+           do { (ty', fvs1) <- rnHsTypeFVs (text "In a type pattern") ty
+             ; (res, fvs2) <- lcont (TypePat ty')
              ; return (res, fvs1 `plusFV` fvs2) }
 
          p -> pprPanic "rnLPatAndThen" (ppr p)
@@ -447,7 +447,7 @@ badDotDot str = ptext (sLit "You cannot use `..' in record") <+> text str
 
 badPun :: Located RdrName -> SDoc
 badPun fld = vcat [ptext (sLit "Illegal use of punning for field") <+> quotes (ppr fld),
-                  ptext (sLit "Use -XRecordPuns to permit this")]
+                  ptext (sLit "Use -XNamedFieldPuns to permit this")]
 
 
 -- wrappers
@@ -580,7 +580,7 @@ checkTupSize tup_size
 patSigErr :: Outputable a => a -> SDoc
 patSigErr ty
   =  (ptext (sLit "Illegal signature in pattern:") <+> ppr ty)
-       $$ nest 4 (ptext (sLit "Use -XPatternSignatures to permit it"))
+       $$ nest 4 (ptext (sLit "Use -XScopedTypeVariables to permit it"))
 
 dupFieldErr :: String -> RdrName -> SDoc
 dupFieldErr str dup