on master help sign in
Fix an issue in fromStreamDArraysOf
224f229Harendra Kumar
src/Streamly/Mem/Array/Types.hs+2−2
@@ -494,7 +494,7 @@ data GroupState s start end bound
494-- | @fromStreamArraysOf n stream@ groups the input stream into a stream of
494-- | @fromStreamArraysOf n stream@ groups the input stream into a stream of
495-- arrays of size n.
495-- arrays of size n.
496{-# INLINE_NORMAL fromStreamDArraysOf #-}
496{-# INLINE_NORMAL fromStreamDArraysOf #-}
497−fromStreamDArraysOf :: (MonadIO m, Storable a)
497+fromStreamDArraysOf :: forall m a. (MonadIO m, Storable a)
498 => Int -> D.Stream m a -> D.Stream m (Array a)
498 => Int -> D.Stream m a -> D.Stream m (Array a)
499-- fromStreamDArraysOf n str = D.groupsOf n (toArrayN n) str
499-- fromStreamDArraysOf n str = D.groupsOf n (toArrayN n) str
500fromStreamDArraysOf n (D.Stream step state) =
500fromStreamDArraysOf n (D.Stream step state) =
@@ -516,7 +516,7 @@ fromStreamDArraysOf n (D.Stream step state) =
516 case r of
516 case r of
517 D.Yield x s -> do
517 D.Yield x s -> do
518 liftIO $ poke end x
518 liftIO $ poke end x
519− let end' = end `plusPtr` 1
519+ let end' = end `plusPtr` sizeOf (undefined :: a)
520 return $
520 return $
521 if end' >= bound
521 if end' >= bound
522 then D.Skip (GroupYield start end' bound (GroupStart s))
522 then D.Skip (GroupYield start end' bound (GroupStart s))
src/Streamly/Prelude.hs+1−1
@@ -1955,7 +1955,7 @@ intersperse a = fromStreamS . S.intersperse a . toStreamS
1955-- @since 0.7.0
1955-- @since 0.7.0
1956{-# INLINE insertAfterEach #-}
1956{-# INLINE insertAfterEach #-}
1957insertAfterEach :: (IsStream t, MonadAsync m) => m a -> t m a -> t m a
1957insertAfterEach :: (IsStream t, MonadAsync m) => m a -> t m a -> t m a
1958−insertAfterEach m = fromStreamS . S.insertAfterEach m . toStreamS
1958+insertAfterEach m = fromStreamD . D.insertAfterEach m . toStreamD
1959
1959
1960{-
1960{-
1961-- | Intersperse a monadic action into the input stream after every @n@
1961-- | Intersperse a monadic action into the input stream after every @n@