
#11254: GHC panic ---------------------------------+---------------------------------------- Reporter: Iceland_jack | Owner: goldfire Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.11 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+---------------------------------------- Comment (by goldfire): I've looked into it. And I can't think of a convenient solution to the problem, which is restricted to instance signatures that produce a deferred type error. The problem is that deferred type errors absolutely must have an enclosing, non-top-level `EvBindsVar` in which to put the error. That's because the deferred type error is now unlifted and so cannot appear at top level. This is also why we can't have deferred kind errors, though there is logic to detect that and report an error without producing bad Core. With instance signatures, the (ab)use of `AbsBinds` means there's just not the right spot to put the `HsWrapper` that does the signature impedence- matching in a spot where the local evidence bindings are in scope. I could create such a spot, but that just doesn't seem like the right way forward. But wait! I've solved it! In parallel, I'm working on rushing my visible- type-application stuff to make it before the feature freeze. It turns out that it needed just such a spot, too, so I'll just reuse it here. So, we just have to wait a few days. :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11254#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler