
#13642: GHCi 8.2 simply ignores TH splice using datatype with a forall'd kind signature -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Template Haskell | Version: 8.2.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * cc: goldfire (added) Comment: After some digging, the function responsible for suppressing the error message appears to be `dsWhenNoErrs`: {{{#!hs dsWhenNoErrs :: DsM a -> (a -> CoreExpr) -> DsM CoreExpr dsWhenNoErrs thing_inside mk_expr = do { (result, no_errs) <- askNoErrsDs thing_inside ; return $ if no_errs then mk_expr result else unitExpr } }}} For whatever reason, `askNoErrsDs` does not appear to be propagating the error message correctly. There's also similar issues with splicing in any other features which Template Haskell doesn't support. For example, you could just as well use `[d| id x = x {-# SCC id #-} |]` in the example above. goldfire, do you have an idea of what's going on here? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13642#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler