Improve 'patterns not matched' warnings
Compiling the following with -fwarn-incomplete-patterns
:
module Asdf where
f :: String -> Int
f "0" = 0
g :: Int -> Int
g 0 = 0
Yields:
asdf.hs:4:0:
Warning: Pattern match(es) are non-exhaustive
In the definition of `f':
Patterns not matched:
[]
(GHC.Base.C# #x) : _ with #x `notElem` ['0']
(GHC.Base.C# '0') : (_ : _)
asdf.hs:7:0:
Warning: Pattern match(es) are non-exhaustive
In the definition of `g':
Patterns not matched: GHC.Base.I# #x with #x `notElem` [0#]
Losing the 'GHC.Base' stuff along with the various octothorpes would make the error messages a lot nicer. Ideally it'd be something like Patterns not matched: x where x
notElem [0]
for the second case, for instance.
Trac metadata
Trac field | Value |
---|---|
Version | 6.8.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Multiple |
Architecture | Multiple |