ghc crashes on th splices in instance context
Given Class.hs:
module Class where
class Foo a where
bar :: a -> Int
TH.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
{-# 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
Trac metadata
Trac field | Value |
---|---|
Version | 7.8.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |