Skip to content

List rules for `Coercible` instances

:info on Data.Coerce.Coercible doesn't display any instances, it's a special class so it should be special-cased

ghci> :i Coercible 
type role Coercible representational representational
class a ~R# b => Coercible (a :: k) (b :: k)
        -- Defined in ‘GHC.Types’

The base case would be easy to display:

instance Coercible a a -- Generated on the fly

but it's trickier to describe the … instance succinctly:

instance Coercible b b' => Coercible (D a b c) (D a b' c')

same for newtypes.


Maybe it's better to list concrete examples

coerce @(Reader _ _) 
  :: Reader a b -> (a -> Identity b)
Trac metadata
Trac field Value
Version 8.0.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
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