File tree Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Expand file tree Collapse file tree 2 files changed +11
-1
lines changed Original file line number Diff line number Diff line change 1+ {-# LANGUAGE CPP #-}
12{-# LANGUAGE FlexibleInstances #-}
23{-# LANGUAGE GADTs #-}
34{-# LANGUAGE ImportQualifiedPost #-}
@@ -35,11 +36,15 @@ import Constrained.PrettyUtils
3536import Control.Applicative
3637import Data.Function
3738import Data.List.NonEmpty (NonEmpty ((:|) ))
38- import Data.List.NonEmpty qualified as NE
3939import Data.Set (Set )
4040import Data.Set qualified as Set
4141import Data.Typeable
42+
43+ -- Orphan instance for old QuickCheck versions
44+ #if !MIN_VERSION_QuickCheck(2, 17, 0)
45+ import Data.List.NonEmpty qualified as NE
4246import Test.QuickCheck (Arbitrary (.. ), NonEmptyList (NonEmpty ))
47+ #endif
4348
4449-- Variables --------------------------------------------------------------
4550
@@ -135,7 +140,9 @@ instance Typeable c => Show (Evidence c) where
135140unionWithMaybe :: (a -> a -> a ) -> Maybe a -> Maybe a -> Maybe a
136141unionWithMaybe f ma ma' = (f <$> ma <*> ma') <|> ma <|> ma'
137142
143+ #if !MIN_VERSION_QuickCheck(2, 17, 0)
138144instance Arbitrary a => Arbitrary (NonEmpty a ) where
139145 arbitrary = do
140146 NonEmpty xs <- arbitrary
141147 pure (NE. fromList xs)
148+ #endif
Original file line number Diff line number Diff line change 11{-# LANGUAGE AllowAmbiguousTypes #-}
22{-# LANGUAGE ConstraintKinds #-}
3+ {-# LANGUAGE CPP #-}
34{-# LANGUAGE DataKinds #-}
45{-# LANGUAGE DefaultSignatures #-}
56{-# LANGUAGE DerivingVia #-}
@@ -257,9 +258,11 @@ instance (Arbitrary a, Ord a) => Arbitrary (NumSpec a) where
257258 shrink (NumSpecInterval m m') =
258259 uncurry NumSpecInterval <$> shrink (m, m')
259260
261+ #if !MIN_VERSION_QuickCheck(2, 17, 0)
260262instance Arbitrary Natural where
261263 arbitrary = wordToNatural . abs <$> arbitrary
262264 shrink n = [wordToNatural w | w <- shrink (naturalToWord n)]
265+ #endif
263266
264267instance Uniform Natural where
265268 uniformM g = wordToNatural . abs <$> uniformM g
You can’t perform that action at this time.
0 commit comments