{-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-} module Distribution.Compat.Typeable ( Typeable, TypeRep, typeRep, ) where #if MIN_VERSION_base(4,7,0) import Data.Typeable (Typeable, TypeRep, typeRep) #else import Data.Typeable (Typeable, TypeRep, typeOf) #endif #if !MIN_VERSION_base(4,7,0) typeRep :: forall a proxy. Typeable a => proxy a -> TypeRep typeRep _ = typeOf (undefined :: a) #endif