Commit bb511e2d authored by simonpj@microsoft.com's avatar simonpj@microsoft.com
Browse files

FIX read040: patterns with type sig on LHS of do-binding

f () = do { x :: Bool <- return True; ... }

For some reason the production for 'pat' required 'infixexp' on the
LHS of a do-notation binding.  This patch makes it an 'exp', which 
thereby allows an expression with a type sig.

Happily, there are no new shift-reduce errors, so I don't think this
will break anything else.

parent e7158cc7
......@@ -1494,7 +1494,7 @@ gdpat :: { LGRHS RdrName }
-- Bangs inside are parsed as infix operator applications, so that
-- we parse them right when bang-patterns are off
pat :: { LPat RdrName }
pat : infixexp {% checkPattern $1 }
pat : exp {% checkPattern $1 }
| '!' aexp {% checkPattern (LL (SectionR (L1 (HsVar bang_RDR)) $2)) }
apat :: { LPat RdrName }
......
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