
#15979: Core Lint error with LiberalTypeSynonyms -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.6.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): No, the Lint check is right. The kinding rules for types are given in comment:4 of #15791. And, I assume, in `docs/core-spec`. So the bug is in the type checker which should reject the program. It's not easy to do that for type inference, because we lack a constraint that says "This kind should be either (TYPE r) or Constraint". I think the easiest way to fix this would be in `checkValidType`; and specifically in the code you have just been working on in `check_type`. In a sigma-type (the code you moved up) add a test that the kind of the body is `TYPE r` or `Constraint`. Richard, right? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15979#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler