[GHC] #7372: Lint failure in GHC 7.6.1
GHC
cvs-ghc at haskell.org
Sun Jan 13 11:10:32 CET 2013
#7372: Lint failure in GHC 7.6.1
-------------------------------+--------------------------------------------
Reporter: simonpj | Owner:
Type: bug | Status: closed
Priority: normal | Milestone: 7.8.1
Component: Compiler | Version: 7.6.1
Resolution: fixed | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: None/Unknown | Difficulty: Unknown
Testcase: | Blockedby:
Blocking: | Related:
-------------------------------+--------------------------------------------
Changes (by monoidal):
* status: new => closed
* resolution: => fixed
Comment:
I checked it. TL;DR: the same cause as in #7312, fixed in HEAD and STABLE.
Here's a small version:
{{{
module Main where
data Exp = Cte Integer
| Let Exp
eval :: Exp -> (->) a Integer
eval (Cte i) = return i -- (1)
eval (Let b) = \m -> eval b m -- (2)
main = undefined
}}}
Under GHC 7.6.1, there are two problems. Both are fixed by changing (->) a
Integer to a -> Integer. Line (1) compiles but fails dcore-lint. In fact
{{{
c :: (->) a a
c = id
}}}
already fails dcore-lint, saying that the types {{{(->) a a}}} and {{{a ->
a}}} do not match. Line (2) gives panic identical to #7312. The code works
fine after the fix in #7312.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7372#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list