[GHC] #16211: Recompiling results in a missing instance
GHC
ghc-devs at haskell.org
Mon Jan 21 17:22:42 UTC 2019
#16211: Recompiling results in a missing instance
-------------------------------------+-------------------------------------
Reporter: crockeea | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.6.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Incorrect
Unknown/Multiple | error/warning at compile-time
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
The attached program compiles without error using cabal.
{{{
import Bar
main :: IO ()
main = do
let x = True -- line 5
--x <- True -- line 6
foo x bar
foo :: Bool -> IO () -> IO ()
foo _ _ = undefined
}}}
However:
1. `cabal build`. This succeeds. [This step isn't required to reproduce
the bug, but it shows that the program should compile.]
2. Replace line 5 with line 6 in Main.hs
3. `cabal build`. GHC correctly reports a compile error (`Couldn't match
expected type 'IO Bool' with actual type 'Bool'`)
4. Fix the problem by reinstating line 5 and removing line 6.
5. `cabal build`. This step *should* compile without errors, but instead
I get a GHC error about a missing instance related to the `monad-classes`
library.
6. `cabal build` all day. The `missing instance` error still occurs until
you clean temporary files and start from scratch.
I suspect the error in step 5 is itself a (different?) GHC bug, but for
now it is reported [https://github.com/strake/monad-classes.hs/issues/4
here]. This GHC bug report is specifically about compiling with identical
source code (steps 1 and 5) and getting different outcomes (step 1
compiles, step 5 has an error), which shouldn't happen regardless of other
bugs.
[Note I can produce the `missing instance` issue without having to
recompile GHC, which is why I think it might be independent of this bug.]
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16211>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list