
#10719: Malformed data type quotation accepted -------------------------------------+------------------------------------- Reporter: heisenbug | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by heisenbug): I should add that `:set -XDataKinds` and `:set -XTemplateHaskell` are on. I have played around a bit and these are actually accepted Prelude Language.Haskell.TH> {{{$(stringE . show =<< [d| type C = A; data A x where C :: 'C Int |])}}} "[TySynD C_1627404906 [] (ConT A_1627404904),DataD [] A_1627404904 [PlainTV x_1627404907] [ForallC [] [AppT (AppT EqualityT (VarT x_1627404907)) (ConT GHC.Types.Int)] (NormalC C_1627404905 [])] []]" Prelude Language.Haskell.TH> {{{$(stringE . show =<< [d| data A x where C :: 'C Int |])}}} "[DataD [] A_1627405048 [PlainTV x_1627405050] [ForallC [] [AppT (AppT EqualityT (VarT x_1627405050)) (ConT GHC.Types.Int)] (NormalC C_1627405049 [])] []]" with both `DataKinds` and `NoDataKinds`. All is very suspicipus, I think the result type's head is never checked. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10719#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler