
#10243: SrcSpan incorrect for non-alphanumeric VarPat -------------------------------------+------------------------------------- Reporter: mpickering | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.10.2 Component: Compiler | Version: 7.10.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Blocked By: Test Case: | Related Tickets: Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- There is an inconsistency when parsing patterns which contain non- alphanumeric characters. For example, {{{!#hs foo (.) = 5 }}} the pattern parses as the following. {{{ (L {tests/examples/ArgPuncParens.hs:2:5-7} (VarPat (Unqual {OccName: .})))] }}} Then consider the following similar program. {{{#!hs foo (x) = 5 }}} The parse is as follows. {{{ (L {tests/examples/ArgPuncParens.hs:2:5-7} (ParPat (L {tests/examples/ArgPuncParens.hs:2:6} (VarPat (Unqual {OccName: x})))))] }}} Notice two differences. 1. The first parse lacks a surrounding `ParPat`. 2. If the `ParPat` is deliberately omitted then the given location encompasses the surrounding parentheses which is not consistent with the second example where `VarPat` specifically refers to `x`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10243 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler