{-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE QuantifiedConstraints #-} {-# LANGUAGE ScopedTypeVariables #-} module Ouroboros.Network.Util.ShowProxy ( ShowProxy (..) , Proxy (..) ) where import Data.Typeable class ShowProxy p where showProxy :: Proxy p -> String default showProxy :: Typeable p => Proxy p -> String showProxy Proxy p p = TypeRep -> ShowS showsTypeRep (Proxy p -> TypeRep forall k (proxy :: k -> *) (a :: k). Typeable a => proxy a -> TypeRep typeRep Proxy p p) String "" instance ShowProxy Int where