[GHC] #13256: Warn on out-of-range literals in pattern matches too
GHC
ghc-devs at haskell.org
Thu Feb 9 20:39:23 UTC 2017
#13256: Warn on out-of-range literals in pattern matches too
-------------------------------------+-------------------------------------
Reporter: rwbarton | Owner:
Type: feature | Status: new
request |
Priority: normal | Milestone:
Component: Compiler | Version: 8.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
We have these nice warnings for numeric literal expressions that are out
of range of their type:
{{{
Prelude> 100000000000000000000000000000000 :: Int
<interactive>:1:1: warning: [-Woverflowed-literals]
Literal 100000000000000000000000000000000 is out of the Int range
-9223372036854775808..9223372036854775807
}}}
but nothing for numeric patterns:
{{{
Prelude> (\x -> case (x :: Int) of 100000000000000000000000000000000 -> 0)
8 :: Int
<interactive>:3:8: warning: [-Wincomplete-patterns]
Pattern match(es) are non-exhaustive
In a case alternative:
Patterns not matched:
p where p is not one of {100000000000000000000000000000000}
*** Exception: <interactive>:3:8-64: Non-exhaustive patterns in case
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13256>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list