
#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