
#7800: Error message when deriving Typeable without PolyKinds ----------------------------------------------+----------------------------- Reporter: monoidal | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Incorrect warning at compile-time | Blockedby: Blocking: | Related: ----------------------------------------------+----------------------------- Module M: {{{ {-# LANGUAGE PolyKinds #-} module M where data A a }}} Module N: {{{ {-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-} module N where import M import Data.Typeable deriving instance Typeable A }}} We get a confusing error message: {{{ N.hs:7:1: Derived typeable instance must be of form (Typeable A) In the stand-alone deriving instance for ‛Typeable A’ }}} The error disappears when N is compiled with -XPolyKinds. The reason is: without -XPolyKinds, A defaults to A *. I think it's simplest to suggest the flag in the error message. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7800 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler