#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

Reply via email to