[GHC] #9880: ghc crashes on th splices in instance context

GHC ghc-devs at haskell.org
Fri Dec 12 15:40:05 UTC 2014


#9880: ghc crashes on th splices in instance context
-------------------------------------+-------------------------------------
       Reporter:  Philonous          |                   Owner:
           Type:  bug                |                  Status:  new
       Priority:  normal             |               Milestone:
      Component:  Compiler           |                 Version:  7.8.3
       Keywords:                     |        Operating System:
   Architecture:  Unknown/Multiple   |  Unknown/Multiple
     Difficulty:  Unknown            |         Type of failure:
     Blocked By:                     |  None/Unknown
Related Tickets:                     |               Test Case:
                                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
 Given
 Class.hs:
 {{{#!hs
 module Class where

 class Foo a where
     bar :: a -> Int
 }}}
 TH.hs
 {{{#!hs
 {-# LANGUAGE TemplateHaskell #-}
 module TH where

 import Class
 import Language.Haskell.TH

 mkFun :: Q [Dec]
 mkFun = return [FunD 'bar [Clause [WildP] (NormalB (LitE (IntegerL 0)))
                                      []]]
 }}}
 and Instance.hs
 {{{#!hs
 {-# LANGUAGE TemplateHaskell #-}
 module Instance where

 import TH
 import Class

 instance Foo Bool where
     $(mkFun)
 }}}

 compiling the project crashes ghc with
 {{{
 #ghc --make Instance.hs
 [2 of 3] Compiling TH               ( TH.hs, TH.o )
 [3 of 3] Compiling Instance         ( Instance.hs, Instance.o )
 ghc: panic! (the 'impossible' happened)
   (GHC version 7.8.3 for x86_64-unknown-linux):
         cvBindsAndSigs $[splice{v}]mkFun{v}

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug


 }}}

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


More information about the ghc-tickets mailing list