\end{code}
-*********************************************************
-* *
+%*********************************************************
+%* *
\subsection{Patterns}
-* *
-*********************************************************
+%* *
+%*********************************************************
\begin{code}
-- externally abstract type of name makers,
-- (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
; 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)
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
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