From bbeb08a18156abf1f719ab7273a134f5f21e7fa6 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Tue, 22 Dec 2009 16:23:25 +0000 Subject: [PATCH] Allow instance heads to use infix syntax class C a b instance Int `C` Bool This was accidentally disallowed before. --- compiler/parser/RdrHsSyn.lhs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/parser/RdrHsSyn.lhs b/compiler/parser/RdrHsSyn.lhs index d18b8d8..746f3d6 100644 --- a/compiler/parser/RdrHsSyn.lhs +++ b/compiler/parser/RdrHsSyn.lhs @@ -549,12 +549,14 @@ checkInstType (L l t) checkDictTy :: LHsType RdrName -> P (LHsType RdrName) checkDictTy (L spn ty) = check ty [] where - check (HsTyVar t) args | not (isRdrTyVar t) - = return (L spn (HsPredTy (HsClassP t args))) + check (HsTyVar tc) args | isRdrTc tc = done tc args + check (HsOpTy t1 (L _ tc) t2) args | isRdrTc tc = done tc (t1:t2:args) check (HsAppTy l r) args = check (unLoc l) (r:args) check (HsParTy t) args = check (unLoc t) args check _ _ = parseError spn "Malformed instance header" + done tc args = return (L spn (HsPredTy (HsClassP tc args))) + checkTParams :: Bool -- Type/data family -> [LHsType RdrName] -> P ([LHsTyVarBndr RdrName], Maybe [LHsType RdrName]) -- 1.7.10.4