@@ -1,6 +1,3 @@
1−{-# LANGUAGE CPP #-}
2−{-# LANGUAGE FlexibleContexts #-}
3−
41#ifdef __HADDOCK_VERSION__
52#undef INSPECTION
63#endif
@@ -54,7 +51,7 @@ import Test.Inspection (inspect, hasNoTypeClassesExcept)
5451
5552-- | Pull a stream from an SVar.
5653{-# NOINLINE fromStreamVar #-}
57−fromStreamVar :: MonadAsync m => SVar Stream m a -> Stream m a
54+fromStreamVar :: forall m a . MonadAsync m => SVar Stream m a -> Stream m a
5855fromStreamVar sv = MkStream $ \st yld sng stp -> do
5956 list <- readOutputQ sv
6057 -- Reversing the output is important to guarantee that we process the
@@ -63,7 +60,7 @@ fromStreamVar sv = MkStream $ \st yld sng stp -> do
6360 foldStream st yld sng stp $ processEvents $ reverse list
6461
6562 where
66−
63+ allDone :: m r -> m r
6764 allDone stp = do
6865 when (svarInspectMode sv) $ do
6966 t <- liftIO $ getTime Monotonic
@@ -72,6 +69,7 @@ fromStreamVar sv = MkStream $ \st yld sng stp -> do
7269 stp
7370
7471 {-# INLINE processEvents #-}
72+ processEvents :: [ChildEvent a] -> Stream m a
7573 processEvents [] = MkStream $ \st yld sng stp -> do
7674 done <- postProcess sv
7775 if done
@@ -95,6 +93,7 @@ fromStreamVar sv = MkStream $ \st yld sng stp -> do
9593 Just ThreadAbort ->
9694 foldStream st yld sng stp rest
9795 Nothing -> liftIO (cleanupSVar sv) >> throwM ex
96+
9897 shouldStop tid =
9998 case svarStopStyle sv of
10099 StopNone -> return False
@@ -157,7 +156,7 @@ toSVar sv m = toStreamVar sv (toStream m)
157156
158157-- | Pull a stream from an SVar.
159158{-# NOINLINE fromProducer #-}
160−fromProducer :: MonadAsync m => SVar Stream m a -> Stream m a
159+fromProducer :: forall m a . MonadAsync m => SVar Stream m a -> Stream m a
161160fromProducer sv = mkStream $ \st yld sng stp -> do
162161 list <- readOutputQ sv
163162 -- Reversing the output is important to guarantee that we process the
@@ -167,6 +166,7 @@ fromProducer sv = mkStream $ \st yld sng stp -> do
167166
168167 where
169168
169+ allDone :: m r -> m r
170170 allDone stp = do
171171 when (svarInspectMode sv) $ do
172172 t <- liftIO $ getTime Monotonic
@@ -176,6 +176,7 @@ fromProducer sv = mkStream $ \st yld sng stp -> do
176176 stp
177177
178178 {-# INLINE processEvents #-}
179+ processEvents :: [ChildEvent a] -> Stream m a
179180 processEvents [] = mkStream $ \st yld sng stp -> do
180181 foldStream st yld sng stp $ fromProducer sv
181182