git.iko.soy/typeable/generic-arbitrary
on master help sign in
Apply QC.scale to prevent infinite loop.
0547fe7Vladimir Kalnitsky
src/Test/QuickCheck/Arbitrary/Generic.hs+2−2
@@ -82,8 +82,8 @@ type family SumLen a :: Nat where
82instance (GArbitrary a, GArbitrary b, KnownNat (SumLen a), KnownNat (SumLen b)
82instance (GArbitrary a, GArbitrary b, KnownNat (SumLen a), KnownNat (SumLen b)
83 ) => GArbitrary (a G.:+: b) where
83 ) => GArbitrary (a G.:+: b) where
84 gArbitrary = frequency
84 gArbitrary = frequency
85− [ (lfreq, G.L1 <$> gArbitrary)
85+ [ (lfreq, G.L1 <$> QC.scale pred gArbitrary)
86− , (rfreq, G.R1 <$> gArbitrary) ]
86+ , (rfreq, G.R1 <$> QC.scale pred gArbitrary) ]
87 where
87 where
88 lfreq = fromIntegral $ natVal (Proxy :: Proxy (SumLen a))
88 lfreq = fromIntegral $ natVal (Proxy :: Proxy (SumLen a))
89 rfreq = fromIntegral $ natVal (Proxy :: Proxy (SumLen b))
89 rfreq = fromIntegral $ natVal (Proxy :: Proxy (SumLen b))