{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fconstraint-solver-iterations=0 #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module System.Nix.Arbitrary.Realisation where
import System.Nix.Arbitrary.Hash ()
import System.Nix.Arbitrary.OutputName ()
import System.Nix.Arbitrary.Signature ()
import System.Nix.Arbitrary.StorePath ()
import System.Nix.Realisation (DerivationOutput, Realisation)
import Test.QuickCheck (Arbitrary(..))
import Test.QuickCheck.Arbitrary.Generic (Arg, GenericArbitrary(..), genericArbitrary, genericShrink)
instance
( Arg (DerivationOutput outputName) outputName
, Arbitrary outputName
) =>
Arbitrary (DerivationOutput outputName)
where
arbitrary :: Gen (DerivationOutput outputName)
arbitrary = Gen (DerivationOutput outputName)
forall a (ga :: * -> *) (some :: Bool).
(Generic a, GArbitrary a ga some, ga ~ Rep a) =>
Gen a
genericArbitrary
shrink :: DerivationOutput outputName -> [DerivationOutput outputName]
shrink = DerivationOutput outputName -> [DerivationOutput outputName]
forall a.
(Generic a, RecursivelyShrink (Rep a), GSubterms (Rep a) a) =>
a -> [a]
genericShrink
deriving via GenericArbitrary Realisation
instance Arbitrary Realisation