
#13107: Negative literal equal to minBound gives a spurious warning -------------------------------------+------------------------------------- Reporter: erikd | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Incorrect Unknown/Multiple | error/warning at compile-time Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- In GHCi: {{{ λ > import GHC.Int λ > -128 :: Int8 <interactive>:25:2: warning: [-Woverflowed-literals] Literal 128 is out of the Int8 range -128..127 If you are trying to write a large negative literal, use NegativeLiterals -128 λ > minBound :: Int8 -128 }}} Since `-128 :: Int8` is equal to `minBound :: Int8` this warning is not correct. Similar issues exist for `Int16`, `Int32` etc. Suspect this is related to the fix for #8542. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13107 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler