[GHC] #11503: TypeError woes (incl. pattern match checker)
GHC
ghc-devs at haskell.org
Thu Jan 28 13:21:29 UTC 2016
#11503: TypeError woes (incl. pattern match checker)
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.1
Resolution: | Keywords:
| PatternMatchWarnings
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by simonpj):
* keywords: => PatternMatchWarnings
Comment:
I think you are saying that
{{{
type family NotInt a where
NotInt Int = False ~ True
NotInt _ = (() :: Constraint)
}}}
makes everything work. That's because the pattern-match warning
infrastructure treats `False ~ True` as definitely insoluble.
But apparently it doesn't treat `TypeErorr blah` as definitely insoluble.
That's because when we solve `[G] NotInt Int`, we get `[G] TypeError ... ~
fsk, [G] fsk`, and neither is treated as insoluble.
I'm sure this can be dealt with, but it'll need a little care.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11503#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list