
#8556: Invalid constructor names are accepted in data declarations -------------------------------------+------------------------------------ Reporter: dolio | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by monoidal): What about `data Foo a = F | (^^^^) a a`? This is promotable, e.g. `Maybe ^^^^ Maybe :: Foo (* -> *)`. My suggestion is to postpone this till implementing KindsWithoutData, and then we can forbid `data Foo a = F | (^^^^) a a` but allow `data kind Foo a = F | (^^^^) a a`. See also #7725. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8556#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler