{-# OPTIONS_GHC -fno-warn-orphans #-} module Data.GenValidity.DList () where import Data.DList (DList) import qualified Data.DList as DList import Data.GenValidity (GenValid (..)) import Data.Validity.DList () instance (GenValid a) => GenValid (DList a) where genValid :: Gen (DList a) genValid = [a] -> DList a forall a. [a] -> DList a DList.fromList ([a] -> DList a) -> Gen [a] -> Gen (DList a) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Gen [a] forall a. GenValid a => Gen a genValid shrinkValid :: DList a -> [DList a] shrinkValid = ([a] -> DList a) -> [[a]] -> [DList a] forall a b. (a -> b) -> [a] -> [b] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap [a] -> DList a forall a. [a] -> DList a DList.fromList ([[a]] -> [DList a]) -> (DList a -> [[a]]) -> DList a -> [DList a] forall b c a. (b -> c) -> (a -> b) -> a -> c . [a] -> [[a]] forall a. GenValid a => a -> [a] shrinkValid ([a] -> [[a]]) -> (DList a -> [a]) -> DList a -> [[a]] forall b c a. (b -> c) -> (a -> b) -> a -> c . DList a -> [a] forall a. DList a -> [a] DList.toList