diff options
author | simonmar <unknown> | 2002-04-10 16:10:26 +0000 |
---|---|---|
committer | simonmar <unknown> | 2002-04-10 16:10:26 +0000 |
commit | bb8560a1c47490cbe1ed348ce047ecbb9dcc3e19 (patch) | |
tree | cceab38cad78d4a4d77d5ecbc74d26a641bfc653 | |
parent | 76bd7b3484f8a6353736437f0b7fb0c1cdf199b6 (diff) |
[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.
-rw-r--r-- | src/HsParseUtils.lhs | 4 | ||||
-rw-r--r-- | 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 |