[GHC] #13163: Make type import/export API Annotation friendly
GHC
ghc-devs at haskell.org
Sat Jan 21 16:41:15 UTC 2017
#13163: Make type import/export API Annotation friendly
-------------------------------------+-------------------------------------
Reporter: alanz | Owner: alanz
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.0.1
(Parser) |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Incorrect API
Unknown/Multiple | annotation
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
At the moment an export of the form
{{{#!hs
type C(..)
}}}
is parsed by the rule
{{{
| 'type' oqtycon {% amms (mkTypeImpExp (sLL $1 $> (unLoc
$2)))
[mj AnnType $1,mj AnnVal $2] }
}}}
This means that the origiinal `oqtycon` loses its location which is then
retained in the `AnnVal` annotation.
The problem is if the `oqtycon` has its own annotations, these get lost.
e.g. in
{{{#!hs
type (?)(..)
}}}
the parens annotations for `(?)` get lost.
This can be solved by introducing a new `IE` constructor `IEVarType`,
treated exactly the same as `IEVar` in the rest of the processing.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13163>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list