Good point. I will refine. The reason it says "specialized" is that type variables other than the last one might be specialized. The class in this example has only one type parameter, so "specialized" is specious. I can fine-tune the error message to print "specialized" only when it actually has been.
Thanks, Richard On Oct 22, 2013, at 4:50 AM, Joachim Breitner <m...@joachim-breitner.de> wrote: > Hi, > > Am Montag, den 21.10.2013, 13:08 -0400 schrieb Richard Eisenberg: >> For the curious, you can see the code in my github fork >> at >> https://raw.github.com/goldfirere/ghc/master/compiler/typecheck/TcDeriv.lhs >> (search for `role_errs`). An example of the new error message is in >> https://github.com/goldfirere/testsuite/blob/master/tests/roles/should_fail/Roles10.stderr > > you say > Roles10.hs:16:12: > Can't make a derived instance of ‛C Age’ > (even with cunning newtype deriving): > it is not type-safe to use GeneralizedNewtypeDeriving on this > class; > ‛meth’, specialized to type ‛a -> F a’, cannot be converted > safely > In the newtype declaration for ‛Age’ > > but shouldn’t that be either > > Roles10.hs:16:12: > Can't make a derived instance of ‛C Age’ > (even with cunning newtype deriving): > it is not type-safe to use GeneralizedNewtypeDeriving on this class; > the type of ‛meth’, ‛a -> F a’, cannot be converted safely > In the newtype declaration for ‛Age’ > > or > > Roles10.hs:16:12: > Can't make a derived instance of ‛C Age’ > (even with cunning newtype deriving): > it is not type-safe to use GeneralizedNewtypeDeriving on this class; > ‛meth’, specialized to type ‛Age -> F Age’, cannot be converted safely > In the newtype declaration for ‛Age’ > > (I’m confused by “specialized to” when the type as printed is not > specialized.) > > Greetings, > Joachim > > -- > Joachim Breitner > e-Mail: m...@joachim-breitner.de > Homepage: http://www.joachim-breitner.de > ICQ#: 74513189 > Jabber-ID: nome...@joachim-breitner.de > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://www.haskell.org/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs