[GHC] #11254: GHC panic
GHC
ghc-devs at haskell.org
Fri Dec 18 22:03:41 UTC 2015
#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
More information about the ghc-tickets
mailing list