diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-11-18 10:29:25 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-11-18 23:38:40 -0500 |
commit | 8150f6546e6fd0006252e245d5697f13ffd8ce3e (patch) | |
tree | acaeb469600a942f0541b94485e4587caba198d8 /testsuite/tests/parser | |
parent | 52114fa0f97805d4c4924bc3abce1a8b0fc7a5c6 (diff) | |
download | haskell-8150f6546e6fd0006252e245d5697f13ffd8ce3e.tar.gz |
PmCheck: Print types of uncovered patterns (#18932)
In order to avoid confusion as in #18932, we display the type of the
match variables in the non-exhaustiveness warning, e.g.
```
T18932.hs:14:1: warning: [-Wincomplete-patterns]
Pattern match(es) are non-exhaustive
In an equation for ‘g’:
Patterns of type ‘T a’, ‘T a’, ‘T a’ not matched:
(MkT2 _) (MkT1 _) (MkT1 _)
(MkT2 _) (MkT1 _) (MkT2 _)
(MkT2 _) (MkT2 _) (MkT1 _)
(MkT2 _) (MkT2 _) (MkT2 _)
...
|
14 | g (MkT1 x) (MkT1 _) (MkT1 _) = x
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
It also allows us to omit the type signature on wildcard matches which
we previously showed in only some situations, particularly
`-XEmptyCase`.
Fixes #18932.
Diffstat (limited to 'testsuite/tests/parser')
-rw-r--r-- | testsuite/tests/parser/should_compile/T15139.stderr | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/testsuite/tests/parser/should_compile/T15139.stderr b/testsuite/tests/parser/should_compile/T15139.stderr index 010bd7440c..b42cb23d27 100644 --- a/testsuite/tests/parser/should_compile/T15139.stderr +++ b/testsuite/tests/parser/should_compile/T15139.stderr @@ -1,21 +1,23 @@ T15139.hs:11:1: warning: [-Wincomplete-patterns (in -Wextra)] Pattern match(es) are non-exhaustive - In an equation for ‘f1’: Patterns not matched: False + In an equation for ‘f1’: + Patterns of type ‘Bool’ not matched: False | 11 | f1 True = case can'tHappen of {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ T15139.hs:12:1: warning: [-Wincomplete-patterns (in -Wextra)] Pattern match(es) are non-exhaustive - In an equation for ‘f2’: Patterns not matched: False + In an equation for ‘f2’: + Patterns of type ‘Bool’ not matched: False | 12 | f2 True = case can'tHappen of | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ T15139.hs:13:1: warning: [-Wincomplete-patterns (in -Wextra)] Pattern match(es) are non-exhaustive - In an equation for ‘g’: Patterns not matched: False + In an equation for ‘g’: Patterns of type ‘Bool’ not matched: False | 13 | g True = case () of () -> True | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |