Commit 85bcfc6c authored by simonpj's avatar simonpj

[project @ 2004-04-05 07:54:39 by simonpj]

Fix parsing bug in new deriving stuff, which was killing the HEAD
parent 76fcd85d
......@@ -898,8 +898,15 @@ strict_mark :: { Located HsBang }
: '!' { L1 HsStrict }
| '{-# UNPACK' '#-}' '!' { LL HsUnbox }
-- We allow the odd-looking 'inst_type' in a deriving clause, so that
-- we can do deriving( forall a. C [a] ) in a newtype (GHC extension).
-- The 'C [a]' part is converted to an HsPredTy by checkInstType
-- We don't allow a context, but that's sorted out by the type checker.
deriving :: { Located (Maybe [LHsType RdrName]) }
: {- empty -} { noLoc Nothing }
| 'deriving' qtycon {% do { let { L loc tv = $2 }
; p <- checkInstType (L loc (HsTyVar tv))
; return (LL (Just [p])) } }
| 'deriving' '(' ')' { LL (Just []) }
| 'deriving' '(' inst_types1 ')' { LL (Just $3) }
-- Glasgow extension: allow partial
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment