Constraint instances not shown in `:info`
$ ghci -ignore-dot-ghci -XKindSignatures -XRank2Types -XConstraintKinds -XAllowAmbiguousTypes -XInstanceSigs
GHCi, version 8.1.20160428: http://www.haskell.org/ghc/ :? for help
Prelude> import Data.Kind
Prelude Data.Kind> class Defer (p :: Constraint) where defer :: (p => r) -> r
Prelude Data.Kind> instance Defer () where defer :: r -> r; defer = id
Prelude Data.Kind> :i Defer
class Defer (p :: Constraint) where
defer :: (p => r) -> r
{-# MINIMAL defer #-}
-- Defined at <interactive>:2:1
Same happens with the Data.Constraint.Deferrable which defines:
instance (Typeable a, Typeable b) => Deferrable (a ~ b)
instance (Deferrable a, Deferrable b) => Deferrable (a, b)
instance (Deferrable a, Deferrable b, Deferrable c) => Deferrable (a, b, c)
but no instances are shown:
ghci> import Data.Constraint.Deferrable
ghci> :i Deferrable
class Deferrable (p :: Constraint) where
deferEither :: proxy p -> (p => r) -> Either String r
{-# MINIMAL deferEither #-}
-- Defined in ‘Data.Constraint.Deferrable’
Trac metadata
Trac field | Value |
---|---|
Version | 7.10.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |