
#10347: Spurious "unused constructor" warning with Coercible -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.11 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Incorrect | Test Case: warning at compile-time | typecheck/should_compile/T10347 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): I ran into this issue in real code yesterday. We can now write {{{#!hs class (forall a b. Coercible a b => Coercible (f a) (f b)) => Representational f instance (forall a b. Coercible a b => Coercible (f a) (f b)) => Representational f }}} But to sort of simulate that in older versions, I used {{{#!hs data Skolem newtype Skolem' = Skolem' Skolem class Representational f instance (Coercible (f Skolem) (f Skolem')) => Representational f }}} GHC complained because the `Skolem'` data constructor isn't used directly. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10347#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler