Skip to content

Missing instances for Identity and Const

The following instances are all permissible yet are not defined. They can all be derived with GeneralizedNewtypeDeriving. It would be useful for me if they were defined in base. These should probably also go into base-orphans and transformers (for versions of base before Identity was moved there).

instance Bounded a => Bounded (Const a b)
instance Enum a => Bounded (Const a b)
instance Ix a => Bounded (Const a b)
instance Semigroup a => Semigroup (Const a b)

instance Bounded a => Bounded (Identity a)
instance Enum a => Bounded (Identity a)
instance Ix a => Bounded (Identity a)
instance Semigroup a => Semigroup (Identity a)
Trac metadata
Trac field Value
Version 7.11
Type FeatureRequest
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component libraries/base
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information