[GHC] #7704: Phantom types break new polykind Typeable with either StandaloneDeriving or AutoDeriveTypeable

GHC cvs-ghc at haskell.org
Mon Feb 18 21:42:26 CET 2013


#7704: Phantom types break new polykind Typeable with either StandaloneDeriving or
AutoDeriveTypeable
-----------------------------+----------------------------------------------
Reporter:  nwf               |          Owner:                  
    Type:  bug               |         Status:  new             
Priority:  normal            |      Component:  Compiler        
 Version:  7.7               |       Keywords:                  
      Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
 Failure:  None/Unknown      |      Blockedby:                  
Blocking:                    |        Related:                  
-----------------------------+----------------------------------------------
 This test program, reduced from an attempt to bring ekmett's tagged
 package to HEAD,
 {{{
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE PolyKinds #-}
 {-# LANGUAGE AutoDeriveTypeable #-}

 newtype Tagged s b = Tagged { unTagged :: b }
 }}}
 results in
 {{{
 GHCi, version 7.7.20130218: http://www.haskell.org/ghc/  :? for help
 Loading package ghc-prim ... linking ... done.
 Loading package integer-gmp ... linking ... done.
 Loading package base ... linking ... done.
 [1 of 1] Compiling Main             ( typeable.hs, interpreted )

 typeable.hs:5:1:
     Derived typeable instance must be of form (Typeable Tagged)
     In the stand-alone deriving instance for
       `Data.Typeable.Internal.Typeable Tagged'
 }}}

 This message is also emitted if I replace `AutoDeriveTypeable`
 `StandaloneDeriving` and `deriving instance Typeable Tagged`.

 However, a "deriving (Typeable)" clause on the newtype definition works
 just fine.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7704>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list