diff options
| author | Sebastian Graf <sebastian.graf@kit.edu> | 2019-04-01 19:59:45 +0200 |
|---|---|---|
| committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-04-03 04:03:47 -0400 |
| commit | 4626cf213fe7affe5f8c2d94dbf03e727c816694 (patch) | |
| tree | f1cd3dc77fb91aebe12e5677abdc5f9bf9f1aaa2 /docs/users_guide/codegens.rst | |
| parent | 7b090b53fea065d2cfd967ea919426af9ba8d737 (diff) | |
| download | haskell-4626cf213fe7affe5f8c2d94dbf03e727c816694.tar.gz | |
Fix Uncovered set of literal patterns
Issues #16289 and #15713 are proof that the pattern match checker did
an unsound job of estimating the value set abstraction corresponding to
the uncovered set.
The reason is that the fix from #11303 introducing `NLit` was
incomplete: The `LitCon` case desugared to `Var` rather than `LitVar`,
which would have done the necessary case splitting analogous to the
`ConVar` case.
This patch rectifies that by introducing the fresh unification variable
in `LitCon` in value abstraction position rather than pattern postition,
recording a constraint equating it to the constructor expression rather
than the literal. Fixes #16289 and #15713.
Diffstat (limited to 'docs/users_guide/codegens.rst')
0 files changed, 0 insertions, 0 deletions
