From bb8560a1c47490cbe1ed348ce047ecbb9dcc3e19 Mon Sep 17 00:00:00 2001 From: simonmar Date: Wed, 10 Apr 2002 16:10:26 +0000 Subject: [haddock @ 2002-04-10 16:10:26 by simonmar] Now we understand (or at least don't barf on) type signatures in patterns such as you might find when scoped type variables are in use. --- src/HsParseUtils.lhs | 4 +++- src/HsSyn.lhs | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/HsParseUtils.lhs b/src/HsParseUtils.lhs index 359cae14..3d795837 100644 --- a/src/HsParseUtils.lhs +++ b/src/HsParseUtils.lhs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: HsParseUtils.lhs,v 1.1 2002/04/04 16:23:43 simonmar Exp $ +-- $Id: HsParseUtils.lhs,v 1.2 2002/04/10 16:10:26 simonmar Exp $ -- -- (c) The GHC Team 1997-2000 -- @@ -121,6 +121,8 @@ checkPat e [] = case e of HsRecConstr c fs -> mapP checkPatField fs `thenP` \fs -> returnP (HsPRec c fs) HsNegApp (HsLit l) -> returnP (HsPNeg (HsPLit l)) + HsExpTypeSig l e ty -> checkPat e [] `thenP` \e -> + returnP (HsPTypeSig e ty) _ -> patFail checkPat _ _ = patFail diff --git a/src/HsSyn.lhs b/src/HsSyn.lhs index c7c0e455..852f9fc1 100644 --- a/src/HsSyn.lhs +++ b/src/HsSyn.lhs @@ -1,5 +1,5 @@ % ----------------------------------------------------------------------------- -% $Id: HsSyn.lhs,v 1.1 2002/04/04 16:23:43 simonmar Exp $ +% $Id: HsSyn.lhs,v 1.2 2002/04/10 16:10:26 simonmar Exp $ % % (c) The GHC Team, 1997-2002 % @@ -228,6 +228,7 @@ data HsPat | HsPAsPat HsName HsPat | HsPWildCard | HsPIrrPat HsPat + | HsPTypeSig HsPat HsType deriving (Eq,Show) data HsPatField -- cgit v1.2.3