
#14047: "Illegal instance for type synonym" while deriving Typeable1 for data type ---------------------------------+-------------------------------------- Reporter: alexbiehl | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 Resolution: | Keywords: Operating System: Windows | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Description changed by alexbiehl: Old description:
This occured to me in `network-ip` package today:
{{{#!hs {-# LANGUAGE StandaloneDeriving #-} module Repro where
import Data.Typeable (Typeable1)
data InetAddr a = InetAddr deriving instance Typeable1 InetAddr }}}
Results in GHC complaining with:
{{{#!hs repro.hs:7:19: error: * Illegal instance for a type synonym A class instance must be for a class * In the stand-alone deriving instance for `Typeable1 InetAddr' | 7 | deriving instance Typeable1 InetAddr | ^^^^^^^^^^^^^^^^^^ }}}
This is due to `Typeable1` defined as type synonym for `Typeable` (see here http://hackage.haskell.org/package/base-4.10.0.0/docs/Data- Typeable.html#t:Typeable1).
I can see it is deprecated but I would still expect it to work correctly still.
New description: This occured to me in `network-ip` package today: {{{#!hs {-# LANGUAGE StandaloneDeriving #-} module Repro where import Data.Typeable (Typeable1) data InetAddr a = InetAddr deriving instance Typeable1 InetAddr }}} Results in GHC complaining with: {{{#!hs repro.hs:7:19: error: * Illegal instance for a type synonym A class instance must be for a class * In the stand-alone deriving instance for `Typeable1 InetAddr' | 7 | deriving instance Typeable1 InetAddr | ^^^^^^^^^^^^^^^^^^ }}} This is due to `Typeable1` defined as type synonym for `Typeable` (see here http://hackage.haskell.org/package/base-4.10.0.0/docs/Data- Typeable.html#t:Typeable1). I see it is deprecated but I would still expect it to work correctly still. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14047#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler