[GHC] #14813: EmptyCase thinks pattern match involving type family is not exhaustive, when it actually is
GHC
ghc-devs at haskell.org
Wed Aug 22 15:45:14 UTC 2018
#14813: EmptyCase thinks pattern match involving type family is not exhaustive,
when it actually is
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.8.1
Component: Compiler | Version: 8.2.2
Resolution: | Keywords:
| PatternMatchWarnings
Operating System: Unknown/Multiple | Architecture:
Type of failure: Incorrect | Unknown/Multiple
error/warning at compile-time | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by RyanGlScott):
* milestone: => 8.8.1
Comment:
Thanks, Simon! I'm afraid I'm not familiar enough with the solver
interface in order to implement all of `tcNormalise` on my own, so I'm
going to ask for more advice here. In particular:
* `solveSimpleGivens` takes `[Ct]` as an arguments. How do I turn a
`CHoleCan` into a `Ct`?
* Moreover, how exactly do I build a `CHoleCan`? It takes a `CtEvidence`
and a `Hole` as arguments. I have no idea what the `Hole` should be.
Presumably, the `CtEvidence` should be a `CtWanted`, but that takes three
other arguments in addition to `ctev_pred`, and I have no idea what any of
them should be.
* Also, where exactly should I be calling `tcNormalise`? In the pattern-
match coverage checker? Somewhere else? (I wonder if it's possible to fix
the buglet in the first program in comment:2 as well, which would seem to
suggest we should be calling it somewhere //besides// the coverage
checker.)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14813#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list