mutable-containers 0.2.1 → 0.2.1.1
raw patch · 4 files changed
+24/−3 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- Data/Mutable/Deque.hs +1/−1
- mutable-containers.cabal +1/−1
- test/Spec.hs +18/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+## 0.2.1.1++* Fix a bug in `Deque`'s new vector allocation/copy code.+ ## 0.2.1 * Export `Prim`, `Unbox` and `Storable`
Data/Mutable/Deque.hs view
@@ -131,7 +131,7 @@ size2 = start `mod` V.length v V.unsafeCopy (V.unsafeTake size1 v')- (V.unsafeDrop start v)+ (V.unsafeSlice size2 size1 v) V.unsafeCopy (V.unsafeSlice size1 size2 v') (V.unsafeTake size2 v)
mutable-containers.cabal view
@@ -1,5 +1,5 @@ name: mutable-containers-version: 0.2.1+version: 0.2.1.1 synopsis: Abstactions and concrete implementations of mutable containers description: See docs and README at <http://www.stackage.org/package/mutable-containers> homepage: https://github.com/fpco/mutable-containers
test/Spec.hs view
@@ -40,10 +40,22 @@ , [return PopFront, return PopBack] ] +manyPushes :: [DequeAction]+manyPushes = concat+ [ replicate 50 $ PushBack 0+ , replicate 50 PopFront+ , replicate 50 $ PushFront 0+ , replicate 50 PopBack+ ]++specialCase :: [DequeAction]+specialCase =+ [PushBack 9, PushBack 5,PushBack 11,PushBack 2,PushBack 13,PushBack 10,PushBack 4,PushBack 13,PushBack 7,PushBack 8,PushBack 6,PushBack 4,PushBack 7,PushBack 9,PushBack 10,PushBack 3,PushBack 2,PushBack 12,PushBack 12 ,PushBack 6,PushBack 3,PushBack 5,PushBack 14,PushBack 14,PushBack 11,PushBack 8,PopFront,PopFront,PopFront,PushBack 11,PushBack 3,PopFront,PopFront,PushBack 13,PushBack 12,PopFront,PushBack 10,PushBack 7,PopFront,PopFront,PushBack 13,PushBack 9,PopFront,PushBack 7,PushBack 2,PopFront,PopFront,PushBack 6,PushBack 4,PopFront,PopFront,PopFront,PushBack 9,PushBack 3,PopFront,PushBack 10,PushBack 6,PopFront,PopFront,PopFront,PushBack 12,PushBack 5,PopFront,PushBack 12,PushBack 5,PopFront,PushBack 6,PushBack 4,PopFront,PopFront,PopFront,PushBack 14,PushBack 10,PopFront,PushBack 14,PushBack 10,PopFront,PushBack 11,PushBack 8,PopFront,PushBack 8,PushBack 2,PopFront,PopFront,PopFront,PushBack 13,PushBack 7,PopFront,PushBack 12,PushBack 5,PopFront,PushBack 10,PushBack 8, PopFront,PushBack 7,PushBack 2,PopFront,PopFront,PushBack 9,PushBack 4,PopFront,PopFront,PopFront,PopFront,PopFront,PopFront,PopFront,PopFront,PushBack 4,PushBack 9,PushBack 3,PushBack 10,PushBack 6,PushBack 4,PushBack 13,PushBack 7,PushBack 9,PushBack 3,PopFront]+ spec :: Spec spec = do describe "Deque" $ do- let test name forceType = prop name $ \actions -> do+ let runActions forceType actions = do base <- newColl :: IO (IORef [Int]) tested <- fmap forceType newColl forM_ (PopFront : PopBack : actions) $ \action -> do@@ -70,6 +82,11 @@ Just _ -> drain Nothing -> return $! () drain+ let test name forceType = describe name $ do+ prop "arbitrary actions" $ runActions forceType+ it "many pushes" $ runActions forceType manyPushes+ it "special case" $ runActions forceType specialCase+ test "UDeque" asUDeque test "SDeque" asSDeque test "BDeque" asBDeque