Stop misusing EWildPat in pattern match coverage checking
authorVladislav Zavialov <vlad.z.4096@gmail.com>
Fri, 19 Apr 2019 14:55:01 +0000 (17:55 +0300)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Mon, 22 Apr 2019 18:50:18 +0000 (14:50 -0400)
commit1959bad3feb9a05c8a5f2a4249a2506c5770d6fe
tree669c059dfc475bf410d24344a48617a4251a0b04
parent51655fd8a4422fd840abd449444eb1505022f5d5
Stop misusing EWildPat in pattern match coverage checking

EWildPat is a constructor of HsExpr used in the parser to represent
wildcards in ambiguous positions:

* in expression context, EWildPat is turned into hsHoleExpr (see rnExpr)
* in pattern context, EWildPat is turned into WildPat (see checkPattern)

Since EWildPat exists solely for the needs of the parser, we could
remove it by improving the parser.

However, EWildPat has also been used for a different purpose since
8a50610: to represent patterns that the coverage checker cannot handle.
Not only this is a misuse of EWildPat, it also stymies the removal of
EWildPat.
compiler/deSugar/Check.hs