-- This module provides tools to simplify compat code across different compiler and library versions {-# LANGUAGE CPP #-} module Test.QuickCheck.Compat where #if MIN_VERSION_base(4,16,0) import Data.Tuple #endif #if MIN_VERSION_base(4,16,0) #if !MIN_VERSION_base(4,18,0) getSolo :: Solo a -> a getSolo (Solo a) = a mkSolo :: a -> Solo a mkSolo = Solo #elif !MIN_VERSION_base(4,19,0) getSolo :: Solo a -> a getSolo (MkSolo a) = a mkSolo :: a -> Solo a mkSolo = MkSolo #else mkSolo :: a -> Solo a mkSolo :: forall a. a -> Solo a mkSolo = a -> Solo a forall a. a -> Solo a MkSolo #endif #endif