[GHC] #13487: GHC panic with deferred custom type errors

GHC ghc-devs at haskell.org
Thu Mar 30 22:26:24 UTC 2017


#13487: GHC panic with deferred custom type errors
-------------------------------------+-------------------------------------
        Reporter:  DimaSamoz         |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.4.1
       Component:  GHCi              |              Version:  8.0.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by DimaSamoz):

 Adding

 {{{
 #!haskell
 c = evaluate ('a' :-: 'b')
 }}}

 to the above example, then loading it and querying the value of `c` also
 triggers the panic. This wouldn't be surprising if GHCi called `evaluate`
 upon let bindings, but surely that's not the case?

 I encountered this error when trying to test my library using the `should-
 not-typecheck` package (https://hackage.haskell.org/package/should-not-
 typecheck), which provides a HSpec assertion `shouldNotTypecheck` that
 passes only if the argument doesn't compile (hence the need for deferred
 type errors). I eventually realised that the library doesn't work with
 custom compiler errors: the function performs a case split on the result
 of `try (evaluate $ force a)` (for the argument `a`), but terms with
 custom type errors never got into the `Left (TypeError msg)` case (where
 the assertion could pass), so the function thought that the argument
 compiles. This might not be directly related, but I thought I would
 mention it in case it is!

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13487#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list