[GHC] #12785: GHC panic, `tcTyVarDetails` is missing a case
GHC
ghc-devs at haskell.org
Tue Jan 10 02:53:58 UTC 2017
#12785: GHC panic, `tcTyVarDetails` is missing a case
-------------------------------------+-------------------------------------
Reporter: heisenbug | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case: yes
Blocked By: | Blocking:
Related Tickets: #12590 | Differential Rev(s): Phab:D2931
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by goldfire):
For the record, I was never convinced that Simon's a0899b2... was a good
idea. I think we went with it thinking "let's try and see what happens".
And now we see what happens!
I advocate for reverting that commit. Simon, the message says that it
slows GHC down, but why? If the check is compiled by a sufficiently smart
compiler, it shouldn't slow a thing down in the common case. Right after
the `isTyVar` check (which should be inlined), we do a `tcTyVarDetails`.
This requires case-splitting on the constructor for the `Var`. All we want
to do is to replace the default error continuation in the non-`TcTyVar`
case with something that returns `False`.
Or is GHC not a sufficiently smart compiler? :)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12785#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list