
#11509: Incorrect error message in StandaloneDeriving: "The data constructors of <typeclass> are not all in scope" -------------------------------------+------------------------------------- Reporter: edsko | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by edsko): Incidentally, when `Serializable` has a nominal role, that call to `coerce` is rejected by ghc 8.0 with {{{ Bug.hs:70:10: error: • Couldn't match type ‘[a]’ with ‘MyList a’ arising from a use of ‘coerce’ • In the expression: coerce (dict :: Static (Dict (Serializable [a]))) In an equation for ‘dict’: dict = coerce (dict :: Static (Dict (Serializable [a]))) In the instance declaration for ‘SC (Serializable (MyList a))’ • Relevant bindings include dict :: Static (Dict (Serializable (MyList a))) (bound at Bug.hs:70:3) }}} which I found somewhat confusing; "Couldn't match type `[a]` with `MyList a` arising from a use of `coerce`" isn't very obvious; ghc 7.10.3 here is much much clearer: {{{ Bug.hs:70:10: Couldn't match type ‘MyList a’ with ‘[a]’ arising from trying to show that the representations of ‘Static (Dict (Serializable [a]))’ and ‘Static (Dict (Serializable (MyList a)))’ are the same Relevant role signatures: type role [] representational type role MyList representational type role Dict representational type role Static representational type role Serializable nominal Relevant bindings include dict :: Static (Dict (Serializable (MyList a))) (bound at Bug.hs:70:3) In the expression: coerce (dict :: Static (Dict (Serializable [a]))) In an equation for ‘dict’: dict = coerce (dict :: Static (Dict (Serializable [a]))) In the instance declaration for ‘SC (Serializable (MyList a))’ }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11509#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler