[GHC] #11027: GHC API panic (evaluated the place holder for a PostTcType)

GHC ghc-devs at haskell.org
Wed Oct 28 09:57:02 UTC 2015


#11027: GHC API panic (evaluated the place holder for a PostTcType)
-------------------------------------+-------------------------------------
        Reporter:  rubik             |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  GHC API           |              Version:  7.8.4
      Resolution:                    |             Keywords:  undefined,
                                     |  place holder, posttctype
Operating System:  Linux             |         Architecture:  x86_64
                                     |  (amd64)
 Type of failure:  Runtime crash     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by mpickering):

 I think the problem is the generic traversal on line 27.

 {{{
 getBinds :: (Data from, Typeable from) => from -> [Function]
 getBinds = everything (++) $ mkQ [] visit
     where visit fun@(GHC.FunBind {}) = [fun]
           visit _ = []
 }}}

 It is not safe to do generic traversals on the GHC 7.8 AST due to the
 reason you encountered! There are landmines. You can use ghc-syb-utils if
 you want to also support 7.8. In future, triggering panics when using the
 API isn't usually a bug in GHC. Alan and I will be happy to help you on
 #haskell-refactorer if you have any more questions.

 https://hackage.haskell.org/package/ghc-syb-utils-0.2.3/docs/GHC-SYB-
 Utils.html

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


More information about the ghc-tickets mailing list