[GHC] #10930: missing empty-Enumeration warning for `Natural`
#10930: missing empty-Enumeration warning for `Natural` -------------------------------------+------------------------------------- Reporter: hvr | Owner: Type: bug | Status: new Priority: low | Milestone: 8.0.1 Component: Compiler | Version: 7.10.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: #7881, #10929 Differential Rev(s): | -------------------------------------+------------------------------------- -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10930> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10930: missing empty-Enumeration warning for `Natural` -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: bug | Status: new Priority: low | Milestone: 8.0.1 Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #7881, #10929 | Differential Rev(s): Phab:D1306 -------------------------------------+------------------------------------- Changes (by hvr): * owner: => hvr * differential: => Phab:D1306 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10930#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10930: missing empty-Enumeration and out-of-range warning for `Natural` -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: bug | Status: new Priority: low | Milestone: 8.0.1 Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #7881, #10929 | Differential Rev(s): Phab:D1306 -------------------------------------+------------------------------------- Description changed by hvr: Old description: New description: {{{ GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help λ:2> :set -XNegativeLiterals λ:3> (-123) :: Word <interactive>:3:2: Warning: Literal -123 is out of the Word range 0..18446744073709551615 18446744073709551493 it :: Word λ:4> (-123) :: Numeric.Natural.Natural *** Exception: arithmetic underflow λ:5> λ:6> [10..3] :: [Word] <interactive>:6:1: Warning: Enumeration is empty [] it :: [Word] λ:7> [10..3] :: [Numeric.Natural.Natural] [] it :: [GHC.Natural.Natural] }}} -- -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10930#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10930: missing empty-Enumeration and out-of-range warning for `Natural` -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: bug | Status: new Priority: low | Milestone: 8.2.1 Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect | Unknown/Multiple warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: #7881, #10929 | Differential Rev(s): Phab:D1306 Wiki Page: | -------------------------------------+------------------------------------- Changes (by thoughtpolice): * milestone: 8.0.1 => 8.2.1 Comment: Punting to GHC 8.2.1 (we aren't going to introduce new warnings in a minor release). -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10930#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10930: missing empty-Enumeration and out-of-range warning for `Natural` -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: bug | Status: patch Priority: low | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect | Unknown/Multiple warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: #7881, #10929 | Differential Rev(s): Phab:D1306, Wiki Page: | Phab:D5181 -------------------------------------+------------------------------------- Changes (by harpocrates): * status: new => patch * differential: Phab:D1306 => Phab:D1306, Phab:D5181 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10930#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10930: missing empty-Enumeration and out-of-range warning for `Natural` -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: bug | Status: patch Priority: low | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect | Unknown/Multiple warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: #7881, #10929 | Differential Rev(s): Phab:D1306, Wiki Page: | Phab:D5181 -------------------------------------+------------------------------------- Comment (by Ryan Scott <ryan.gl.scott@…>): In [changeset:"75a8349b2a7d0142d3d687837caf5a95bbb4368d/ghc" 75a8349/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="75a8349b2a7d0142d3d687837caf5a95bbb4368d" Warn on all out-of-range literals in pats/exprs Summary: These changes were motivated by #13256. While poking around, I realized we weren't very consistent in our "-Woverflowed-literals" warnings. This patch fixes that by: * warning earlier on in the pipeline (ie. before we've desugared 'Int' patterns into 'I# Int#') * handling 'HsLit' as well as 'HsOverLit' (this covers unboxed literals) * covering more pattern / expression forms 4/6 of the warnings in the 'Overflow' test are due to this patch. The other two are mostly for completeness. Also fixed a missing empty-enumeration warning for 'Natural'. This warnings were tripped up by the 'Bounded Word' instance (see #9505), but the fix was obvious and simple: use unboxed word literals. Test Plan: make TEST=Overflow && make TEST=T10930 Reviewers: hvr, bgamari, RyanGlScott Reviewed By: RyanGlScott Subscribers: RyanGlScott, rwbarton, carter GHC Trac Issues: #13256, #10930 Differential Revision: https://phabricator.haskell.org/D5181 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10930#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#10930: missing empty-Enumeration and out-of-range warning for `Natural` -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: bug | Status: closed Priority: low | Milestone: 8.8.1 Component: Compiler | Version: 7.10.2 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Incorrect | Test Case: warning at compile-time | warnings/should_compile/T10930{,b} Blocked By: | Blocking: Related Tickets: #7881, #10929 | Differential Rev(s): Phab:D1306, Wiki Page: | Phab:D5181 -------------------------------------+------------------------------------- Changes (by RyanGlScott): * status: patch => closed * testcase: => warnings/should_compile/T10930{,b} * resolution: => fixed * milestone: => 8.8.1 Comment: harpocrates, do you mind updating wiki:Migration/8.8 with a section about these changes? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10930#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC