
#9778: Namespace collision detection for promoted types -------------------------------------+------------------------------------- Reporter: crockeea | Owner: carlostome Type: feature | Status: new request | Milestone: Priority: normal | Version: 7.8.3 Component: Compiler | Keywords: newcomer Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: Type of failure: | Related Tickets: None/Unknown | Test Case: T9778 | Blocking: | Differential Revisions: Phab:D534 | -------------------------------------+------------------------------------- Changes (by carlostome): * testcase: => T9778 * differential: => Phab:D534 Comment: I added this warning flag and updated the documentation according to it. The new flag is documented as follows: ---- -fwarn-unticked-promoted-constructors: Warn if a promoted data constructor is used without a tick preceding it's name. For example: {{{ data Nat = Succ Nat | Zero data Vec n s where Nil :: Vec Zero a Cons :: a -> Vec n a -> Vec (Succ n) a }}} This program will raise two warnings because Zero and Succ are not written as 'Zero and 'Succ. This warning is off by default. ---- If anybody thinks this can be explained better, all suggestions are welcomed! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9778#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler