Deriving with PolyKinds broken
Compiling
{-# LANGUAGE DeriveDataTypeable, PolyKinds #-}
module Tagged where
import Data.Typeable
import Data.Ix
newtype Tagged s b = Tagged { unTagged :: b } deriving
( Eq, Ord, Ix, Bounded, Typeable )
gives
Tagged.hs:8:5:
‛Tagged’ is applied to too many type arguments
In an expression type signature:
Tagged k s b -> Tagged k s b -> Bool
In the expression:
GHC.Prim.coerce ((==) :: b -> b -> Bool) ::
Tagged k s b -> Tagged k s b -> Bool
In an equation for ‛==’:
(==)
= GHC.Prim.coerce ((==) :: b -> b -> Bool) ::
Tagged k s b -> Tagged k s b -> Bool
Tagged.hs:8:9:
‛Tagged’ is applied to too many type arguments
In an expression type signature:
Tagged k s b -> Tagged k s b -> Ordering
In the expression:
GHC.Prim.coerce (compare :: b -> b -> Ordering) ::
Tagged k s b -> Tagged k s b -> Ordering
In an equation for ‛compare’:
compare
= GHC.Prim.coerce (compare :: b -> b -> Ordering) ::
Tagged k s b -> Tagged k s b -> Ordering
Tagged.hs:8:14:
‛Tagged’ is applied to too many type arguments
In an expression type signature:
(,) (Tagged k s b) (Tagged k s b) -> [] (Tagged k s b)
In the expression:
GHC.Prim.coerce (range :: (,) b b -> [] b) ::
(,) (Tagged k s b) (Tagged k s b) -> [] (Tagged k s b)
In an equation for ‛range’:
range
= GHC.Prim.coerce (range :: (,) b b -> [] b) ::
(,) (Tagged k s b) (Tagged k s b) -> [] (Tagged k s b)
Tagged.hs:8:18:
‛Tagged’ is applied to too many type arguments
In an expression type signature: Tagged k s b
In the expression: GHC.Prim.coerce (minBound :: b) :: Tagged k s b
In an equation for ‛minBound’:
minBound = GHC.Prim.coerce (minBound :: b) :: Tagged k s b
Trac metadata
Trac field | Value |
---|---|
Version | 7.7 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | high |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |