#5516: Universally quantified GADT context leads to overlapping instance
----------------------------------------+-----------------------------------
Reporter: andersk | Owner:
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler | Version: 7.3
Resolution: invalid | Keywords:
Testcase: | Blockedby:
Difficulty: | Os: Unknown/Multiple
Blocking: | Architecture: Unknown/Multiple
Failure: GHC rejects valid program |
----------------------------------------+-----------------------------------
Changes (by simonpj):
* status: new => closed
* resolution: => invalid
Comment:
The issue is that there genuinely are two places where the `(Foo [t])`
constraint could be satisfied:
* From the `FooDict` constructor
* From the instance declaration
And which to use depends on how t is instantiated. So this is a dodgy
situation and I'm content that it flags an error. If we have real use
cases where it becomes painful we can look again.
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5516#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs