#3155: TypeOperators/Rank2Types clash
--------------------------------------------+-------------------------------
Reporter: MartijnVanSteenbergen | Owner:
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler | Version: 6.10.1
Severity: normal | Resolution: fixed
Keywords: | Difficulty: Unknown
Testcase: typecheck/should_fail/T3155 | Os: Unknown/Multiple
Architecture: Unknown/Multiple |
--------------------------------------------+-------------------------------
Changes (by simonpj):
* testcase: => typecheck/should_fail/T3155
* status: new => closed
* resolution: => fixed
Comment:
Ah yes, good point. I've jiggled a bit more. Now you get the good error
message either way. Thanks.
{{{
Thu Apr 9 15:40:04 BST 2009 [email protected]
* Fix Trac #3155: better error message when -XRankNTypes is omitted
This patch sligtly re-adjusts the way in which the syntax of types
is handled:
* In the lexer, '.' and '*' are always accepted in types
(previously it was conditional). This things can't mean
anything else in H98, which is the only reason for doing things
conditionally in the lexer.
* As a result '.' in types is never treated as an operator.
Instead, lacking a 'forall' keyword, it turns into a plain parse
error.
* Test for -XKindSignatures in the renamer when processing
a) type variable bindings
b) types with sigs (ty :: kind-sig)
* Make -XKindSignatures be implied by -XTypeFamilies
Previously this was buried in the conditonal lexing of '*'
M ./compiler/main/DynFlags.hs +2
M ./compiler/parser/Lexer.x -2 +2
M ./compiler/parser/Parser.y.pp +5
M ./compiler/parser/RdrHsSyn.lhs -1 +2
M ./compiler/rename/RnEnv.lhs -8 +16
M ./compiler/rename/RnTypes.lhs -3 +5
}}}
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3155#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs