
#13989: use templateHaskell type checker panic -------------------------------------+------------------------------------- Reporter: chinaxing | Owner: (none) Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler (Type | Version: 8.0.2 checker) | Resolution: duplicate | Keywords: Operating System: Unknown/Multiple | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #13106 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * status: new => closed * resolution: => duplicate * related: => #13106 Comment: Indeed, it's a duplicate of #13106. Moreover, the panic has nothing to do with Template Haskell. Here's the error you get with GHC 8.2.1: {{{ $ /opt/ghc/8.2.1/bin/ghci Bug.hs GHCi, version 8.2.0.20170704: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/rgscott/.ghci [1 of 1] Compiling Service.HAEventBroker ( Bug.hs, interpreted ) Bug.hs:25:13: error: Variable not in scope: get :: Update Service.HAEventBroker.EventQueue Service.HAEventBroker.EventQueue | 25 | EvQ el <- get | ^^^ Bug.hs:26:3: error: Variable not in scope: put :: Service.HAEventBroker.EventQueue -> Update Service.HAEventBroker.EventQueue () | 26 | put $ EvQ (e:el) | ^^^ Bug.hs:30:13: error: Variable not in scope: get :: Update Service.HAEventBroker.EventQueue Service.HAEventBroker.EventQueue | 30 | EvQ el <- get | ^^^ Bug.hs:34:3: error: Variable not in scope: put :: Service.HAEventBroker.EventQueue -> Update Service.HAEventBroker.EventQueue [Service.HAEventBroker.HAEvent] | 34 | put $ EvQ r | ^^^ Bug.hs:36:14: error: • Not in scope: data constructor ‘EventQueue’ • In the Template Haskell quotation 'EventQueue | 36 | $(makeAcidic 'EventQueue ['putEvent, 'pollEvent]) | ^^^^^^^^^^^ }}} So the issue is out-of-scope identifiers. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13989#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler