
#15989: Adding extra quantified constraints leads to resolution failure -------------------------------------+------------------------------------- Reporter: eror | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.3 Component: Compiler (Type | Version: 8.6.2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by eror): * `( forall x x'. Monad (m x), forall x. Traversable (m x) )` and `( forall x x'. Traversable (m x), forall x. Monad (m x) )` both fail on `fmap` but not `pure`, which makes it look like the problem is in resolving classes that are superclasses of more than one of the constraints. * Using two type variables in both constraints compiles; it looks like the problem arises when the number of quantified type variables is different. But `( forall x. Monad (m x), Monad m y )` compiles. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15989#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler