[GHC] #7800: Error message when deriving Typeable without PolyKinds

GHC cvs-ghc at haskell.org
Fri Mar 29 11:48:08 CET 2013


#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



More information about the ghc-tickets mailing list