on master help sign in
Do not use unexported type MonadRunInIO
90a88bcHarendra Kumar
src/Streamly/Internal/Data/Stream/Exception/Lifted.hs+12−4
@@ -25,6 +25,8 @@ where
25
25
26import Control.Exception (Exception, SomeException, mask_)
26import Control.Exception (Exception, SomeException, mask_)
27import Control.Monad.Catch (MonadCatch)
27import Control.Monad.Catch (MonadCatch)
28+import Control.Monad.IO.Class (MonadIO)
29+import Control.Monad.Trans.Control (MonadBaseControl)
28import Data.Map.Strict (Map)
30import Data.Map.Strict (Map)
29import GHC.Exts (inline)
31import GHC.Exts (inline)
30import Streamly.Internal.Control.Concurrent
32import Streamly.Internal.Control.Concurrent
@@ -140,7 +142,7 @@ bracket3D bef aft onExc onGC =
140--
142--
141-- /Pre-release/
143-- /Pre-release/
142{-# INLINE bracket3 #-}
144{-# INLINE bracket3 #-}
143−bracket3 :: (MonadRunInIO m, MonadCatch m)
145+bracket3 :: (MonadAsync m, MonadCatch m)
144 => m b
146 => m b
145 -> (b -> m c)
147 -> (b -> m c)
146 -> (b -> m d)
148 -> (b -> m d)
@@ -172,7 +174,7 @@ bracket3 bef aft gc exc bet = fromStreamD $
172-- /Inhibits stream fusion/
174-- /Inhibits stream fusion/
173--
175--
174{-# INLINE bracket #-}
176{-# INLINE bracket #-}
175−bracket :: (MonadRunInIO m, MonadCatch m)
177+bracket :: (MonadAsync m, MonadCatch m)
176 => m b -> (b -> m c) -> (b -> Stream m a) -> Stream m a
178 => m b -> (b -> m c) -> (b -> Stream m a) -> Stream m a
177bracket bef aft = bracket3 bef aft aft aft
179bracket bef aft = bracket3 bef aft aft aft
178
180
@@ -190,7 +192,7 @@ bracket bef aft = bracket3 bef aft aft aft
190-- /Inhibits stream fusion/
192-- /Inhibits stream fusion/
191--
193--
192{-# INLINE finally #-}
194{-# INLINE finally #-}
193−finally :: (MonadRunInIO m, MonadCatch m) =>
195+finally :: (MonadAsync m, MonadCatch m) =>
194 m b -> Stream m a -> Stream m a
196 m b -> Stream m a -> Stream m a
195finally action xs = bracket (return ()) (const action) (const xs)
197finally action xs = bracket (return ()) (const action) (const xs)
196
198
@@ -223,7 +225,13 @@ afterD action (D.Stream step state) = D.Stream step' Nothing
223-- /See also 'after_'/
225-- /See also 'after_'/
224--
226--
225{-# INLINE after #-}
227{-# INLINE after #-}
228+after ::
229+#ifdef USE_UNLIFTIO
230+ MonadUnliftIO m
231+#else
232+ (MonadIO m, MonadBaseControl IO m)
233+#endif
226−after :: MonadRunInIO m => m b -> Stream m a -> Stream m a
234+ => m b -> Stream m a -> Stream m a
227after action xs = fromStreamD $ afterD action $ toStreamD xs
235after action xs = fromStreamD $ afterD action $ toStreamD xs
228
236
229data RetryState emap s1 s2
237data RetryState emap s1 s2