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.
Showing
- compiler/GHC/HsToCore/Pmc.hs 4 additions, 1 deletioncompiler/GHC/HsToCore/Pmc.hs
- compiler/GHC/HsToCore/Pmc/Ppr.hs 2 additions, 15 deletionscompiler/GHC/HsToCore/Pmc/Ppr.hs
- testsuite/tests/deSugar/should_compile/DsStrictWarn.stderr 1 addition, 1 deletiontestsuite/tests/deSugar/should_compile/DsStrictWarn.stderr
- testsuite/tests/deSugar/should_compile/GadtOverlap.stderr 1 addition, 1 deletiontestsuite/tests/deSugar/should_compile/GadtOverlap.stderr
- testsuite/tests/deSugar/should_compile/T14135.stderr 2 additions, 1 deletiontestsuite/tests/deSugar/should_compile/T14135.stderr
- testsuite/tests/deSugar/should_compile/T14546a.stderr 2 additions, 2 deletionstestsuite/tests/deSugar/should_compile/T14546a.stderr
- testsuite/tests/deSugar/should_compile/T14546d.stderr 1 addition, 1 deletiontestsuite/tests/deSugar/should_compile/T14546d.stderr
- testsuite/tests/deSugar/should_compile/T5455.stderr 2 additions, 2 deletionstestsuite/tests/deSugar/should_compile/T5455.stderr
- testsuite/tests/dependent/should_compile/KindEqualities.stderr 1 addition, 1 deletion...uite/tests/dependent/should_compile/KindEqualities.stderr
- testsuite/tests/driver/T8101.stderr 1 addition, 1 deletiontestsuite/tests/driver/T8101.stderr
- testsuite/tests/driver/T8101b.stderr 1 addition, 1 deletiontestsuite/tests/driver/T8101b.stderr
- testsuite/tests/driver/werror.stderr 1 addition, 1 deletiontestsuite/tests/driver/werror.stderr
- testsuite/tests/ghci/prog018/prog018.stdout 1 addition, 1 deletiontestsuite/tests/ghci/prog018/prog018.stdout
- testsuite/tests/parser/should_compile/T15139.stderr 5 additions, 3 deletionstestsuite/tests/parser/should_compile/T15139.stderr
- testsuite/tests/pmcheck/complete_sigs/T13964.stderr 2 additions, 1 deletiontestsuite/tests/pmcheck/complete_sigs/T13964.stderr
- testsuite/tests/pmcheck/complete_sigs/T14059a.stderr 4 additions, 2 deletionstestsuite/tests/pmcheck/complete_sigs/T14059a.stderr
- testsuite/tests/pmcheck/complete_sigs/T17386.stderr 2 additions, 2 deletionstestsuite/tests/pmcheck/complete_sigs/T17386.stderr
- testsuite/tests/pmcheck/complete_sigs/completesig02.stderr 1 addition, 1 deletiontestsuite/tests/pmcheck/complete_sigs/completesig02.stderr
- testsuite/tests/pmcheck/complete_sigs/completesig04.stderr 3 additions, 2 deletionstestsuite/tests/pmcheck/complete_sigs/completesig04.stderr
- testsuite/tests/pmcheck/complete_sigs/completesig06.stderr 5 additions, 5 deletionstestsuite/tests/pmcheck/complete_sigs/completesig06.stderr
Loading
Please register or sign in to comment