
#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 simonpj):
These would be easy to spot -- you just look for a type variable used as an argument to another type variable
I'd say "possible" rather than "easy". You'd have something like {{{ [W] m t1 ~R# m t2 }}} and you want to say "one way to prove this would be to assume some additional property of m (the quantified constraint) and, in addition, prove `t1 ~R# t2`". Wildly ad-hoc, but maybe. I wouldn't rush to do it. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9123#comment:65 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler