{-# OPTIONS_GHC -fno-full-laziness #-}
{-# LANGUAGE Trustworthy #-}
module Test.QuickCheck.Safe.Trusted (
pureEvaluate, AnException,
inventQCGen, QCGen
) where
import Test.QuickCheck.Exception
import Test.QuickCheck.Random
import System.IO.Unsafe
pureEvaluate :: a -> Either AnException a
pureEvaluate :: a -> Either AnException a
pureEvaluate = IO (Either AnException a) -> Either AnException a
forall a. IO a -> a
unsafePerformIO (IO (Either AnException a) -> Either AnException a)
-> (a -> IO (Either AnException a)) -> a -> Either AnException a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> IO (Either AnException a)
forall a. a -> IO (Either AnException a)
tryEvaluate
{-# NOINLINE inventQCGen #-}
inventQCGen :: a -> QCGen
inventQCGen :: a -> QCGen
inventQCGen _ = IO QCGen -> QCGen
forall a. IO a -> a
unsafePerformIO IO QCGen
newQCGen