
#9123: Emit quantified Coercible constraints in GeneralizedNewtypeDeriving -------------------------------------+------------------------------------- Reporter: simonpj | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler (Type | Version: 7.8.2 checker) | Keywords: Roles, Resolution: | QuantifiedConstraints Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: quantified- | constraints/T9123{,a} Blocked By: 15290 | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): Perhaps comment:63 is right. Would it be worth special-casing role-related quantified constraints in GND? These would be easy to spot -- you just look for a type variable used as an argument to another type variable. So I claim it's doable, without really inferring the constraint using GHC's normal inference mechanism. Why do I care? Because it seems putting `join` into `Monad` is a good idea, and GND'ing `Monad` is common, and sometimes doing so will require a quantified constraint. Not inferring it will cause pain for users who just want a `Monad` but don't want to get sucked into the roles swamp. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9123#comment:64 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler