[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