Typed Template Haskell splices broken in HEAD (7.11)
In the latest HEAD (e2b579e8) when I say:
$$(return [
SigD (mkName "m")
(ForallT [PlainTV (mkName "a")]
[]
(AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a"))))
, FunD (mkName "m")
[Clause [VarP (mkName "x")] (NormalB (VarE (mkName "x"))) []]
])
I get:
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 7.11.20151007 for x86_64-unknown-linux):
runRnSplice
$$(return
[SigD
(mkName "m")
(ForallT
[PlainTV (mkName "a")]
[]
(AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))),
FunD
(mkName "m")
[Clause [VarP (mkName "x")] (NormalB (VarE (mkName "x"))) []]])
This code compiles correctly in GHC 7.10.1.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.11 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Template Haskell |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | goldfire |
| Operating system | |
| Architecture |