conduit 1.3.5 → 1.3.6
raw patch · 4 files changed
+13/−3 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Conduit: class MonadTrans (t :: Type -> Type -> Type -> Type)
+ Conduit: class forall (m :: Type -> Type). Monad m => Monad t m => MonadTrans (t :: Type -> Type -> Type -> Type)
- Conduit: data Acquire a
+ Conduit: data () => Acquire a
- Conduit: data ReleaseType
+ Conduit: data () => ReleaseType
- Conduit: data ResourceT (m :: Type -> Type) a
+ Conduit: data () => ResourceT (m :: Type -> Type) a
- Conduit: newtype Identity a
+ Conduit: newtype () => Identity a
- Conduit: throwM :: (MonadThrow m, Exception e) => e -> m a
+ Conduit: throwM :: (MonadThrow m, HasCallStack, Exception e) => e -> m a
- Data.Conduit: data Void
+ Data.Conduit: data () => Void
Files
- ChangeLog.md +4/−0
- conduit.cabal +1/−1
- src/Data/Conduit/Internal/Conduit.hs +1/−1
- test/main.hs +7/−1
ChangeLog.md view
@@ -1,5 +1,9 @@ # ChangeLog for conduit +## 1.3.6++* Avoid dropping upstream items in `mergeSource` [#513](https://github.com/snoyberg/conduit/pull/513)+ ## 1.3.5 * Add `groupOn`
conduit.cabal view
@@ -1,5 +1,5 @@ Name: conduit-Version: 1.3.5+Version: 1.3.6 Synopsis: Streaming data processing library. description: `conduit` is a solution to the streaming data problem, allowing for production,
src/Data/Conduit/Internal/Conduit.hs view
@@ -613,7 +613,7 @@ go a = do (src1, mi) <- lift $ src0 $$++ await case mi of- Nothing -> return ()+ Nothing -> leftover a Just i -> yield (i, a) >> loop src1
test/main.hs view
@@ -32,7 +32,7 @@ import Control.Monad.Trans.Writer (execWriter, tell, runWriterT) import Control.Monad.Trans.State (evalStateT, get, put) import qualified Control.Monad.Writer as W-import Control.Applicative (pure, (<$>), (<*>))+import Control.Applicative (pure, (<$>), (<*>), liftA2) import qualified Control.Monad.Catch as Catch import Data.Functor.Identity (Identity,runIdentity) import Control.Monad (forever, void)@@ -704,6 +704,12 @@ withShortAlphaIndex = CI.mergeSource (CL.sourceList ["A", "B", "C"]) output <- runConduit $ src .| withShortAlphaIndex .| CL.consume output `shouldBe` [("A", 1), ("B", 2), ("C", 3)]+ it "does not drop upstream items" $ do+ let num = CL.sourceList [1 .. 10 :: Int]+ let chr = CL.sourceList ['a' .. 'c']+ (output, remainder) <- runConduit $ num .| liftA2 (,) (CI.mergeSource chr .| CL.consume) CL.consume+ output `shouldBe` [('a', 1), ('b', 2), ('c', 3)]+ remainder `shouldBe` [4 .. 10] describe "passthroughSink" $ do it "works" $ do