Skip to content

Commit 341c230

Browse files
committed
Fix handling of negative sizes for generateA
Now it works in the same way as generateM
1 parent 36f86e3 commit 341c230

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

vector/src/Data/Vector/Generic.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2682,8 +2682,9 @@ runSTA !sz = \(STA fun) -> runST $ do
26822682
-- @since NEXT_VERSION
26832683
generateA :: (Applicative f, Vector v a) => Int -> (Int -> f a) -> f (v a)
26842684
{-# INLINE[1] generateA #-}
2685-
generateA 0 _ = pure empty
2686-
generateA n f = runSTA n <$> go 0
2685+
generateA n f
2686+
| n <= 0 = pure empty
2687+
| otherwise = runSTA n <$> go 0
26872688
where
26882689
go !i | i >= n = pure $ STA $ \_ -> pure ()
26892690
| otherwise = (\a (STA m) -> STA $ \mv -> M.unsafeWrite mv i a >> m mv)

0 commit comments

Comments
 (0)