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 |