packages feed

hashtables 1.2.3.2 → 1.2.3.3

raw patch · 5 files changed

+38/−13 lines, 5 filesdep ~primitivePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: primitive

API changes (from Hackage documentation)

Files

changelog.md view
@@ -1,5 +1,9 @@ # Hashtables changelog +## 1.2.3.3++Fix build with certain versions of `primitive` (thx again Carter)+ ## 1.2.3.2    - CPP fix for breakage caused by primitive 0.7 (thx Carter)
hashtables.cabal view
@@ -1,16 +1,20 @@+Cabal-Version: 2.2 Name:                hashtables-Version:             1.2.3.2+Version:             1.2.3.3 Synopsis:            Mutable hash tables in the ST monad Homepage:            http://github.com/gregorycollins/hashtables-License:             BSD3+License:             BSD-3-Clause License-file:        LICENSE Author:              Gregory Collins Maintainer:          greg@gregorycollins.net, mgoremeier@gmail.com Copyright:           (c) 2011-2014, Google, Inc., 2016-present contributors Category:            Data Build-type:          Simple-Cabal-version:       >= 1.8 ++tested-with: GHC==8.8.1,GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4++ Description:   This package provides a couple of different implementations of mutable hash   tables in the ST monad, as well as a typeclass abstracting their common@@ -134,7 +138,13 @@ Flag debug   Description: if on, spew debugging output to stdout   Default: False+  Manual: True +Flag detailed-profiling+  Description: add detailed profiling information to profiled build-depends+  Default: False+  Manual: True+ Flag sse42   Description: if on, use SSE 4.2 extensions to search cache lines very                efficiently. The portable flag forces this off.@@ -146,6 +156,7 @@   Library+  Default-Language: Haskell2010   hs-source-dirs:    src    if flag(sse42) && !flag(portable)@@ -191,10 +202,18 @@   if flag(bounds-checking)     cpp-options: -DBOUNDS_CHECKING -  ghc-prof-options: -auto-all+  if flag(detailed-profiling)+    if impl(ghc >= 7.4.1)+     ghc-prof-options: -fprof-auto+    if impl(ghc < 7.4.1)+     ghc-prof-options: -auto-all    if impl(ghc >= 6.12.0)     ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2                  -fno-warn-unused-do-bind   else     ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2++source-repository head+  type:     git+  location: https://github.com/gregorycollins/hashtables.git
src/Data/HashTable/Internal/IntArray.hs view
@@ -20,7 +20,9 @@ import           Control.Monad.ST import           Data.Bits import qualified Data.Primitive.ByteArray as A+#if !MIN_VERSION_primitive(0,7,0) import           Data.Primitive.Types     (Addr (..))+#endif import           GHC.Exts import           GHC.Word import           Prelude                  hiding (length)
src/Data/HashTable/Internal/Linear/Bucket.hs view
@@ -350,7 +350,7 @@                 return (hw', mbk, a)     | otherwise = mutate' $ fromKey bucketKey   where-    mutate' (Bucket sz hwRef keys values) = do+    mutate' (Bucket _sz hwRef keys values) = do         hw <- readSTRef hwRef         pos <- findPosition hw (hw-1)         mv <- do@@ -363,10 +363,10 @@             (Nothing, (Just v', a)) -> do                 (!hw', mbk) <- snoc bucketKey k v'                 return (hw', mbk, a)-            (Just v, (Just v', a)) -> do+            (Just _v, (Just v', a)) -> do                 writeArray values pos v'                 return (hw, Nothing, a)-            (Just v, (Nothing, a)) -> do+            (Just _v, (Nothing, a)) -> do                 move (hw-1) pos keys                 move (hw-1) pos values                 let !hw' = hw-1
src/Data/HashTable/ST/Cuckoo.hs view
@@ -432,14 +432,14 @@         -> (Maybe v -> ST s (Maybe v, a))         -> ST s (HashTable_ s k v, a) mutate' ht@(HashTable sz _ hashes keys values _) !k !f = do-    !(maybeVal, idx, hashCode) <- lookupSlot+    !(maybeVal, idx, _hashCode) <- lookupSlot     !fRes <- f maybeVal     case (maybeVal, fRes) of         (Nothing, (Nothing, a)) -> return (ht, a)-        (Just v, (Just v', a)) -> do+        (Just _v, (Just v', a)) -> do             writeArray values idx v'             return (ht, a)-        (Just v, (Nothing, a)) -> do+        (Just _v, (Nothing, a)) -> do             deleteFromSlot ht idx             return (ht, a)         (Nothing, (Just v', a)) -> do@@ -486,7 +486,7 @@               else do                 result <- cuckooOrFail ht h1 h2 b1 b2 k v                 maybe (return ht)-                      (\(k', v') -> do+                      (\(_k', _v') -> do                           newHt <- grow ht k v                           return newHt)                       result@@ -498,7 +498,7 @@                   HashTable_ s k v                -> Int                -> ST s ()-deleteFromSlot ht@(HashTable _ _ hashes keys values _) idx = do+deleteFromSlot _ht@(HashTable _ _ hashes keys values _) idx = do     U.writeArray hashes idx emptyMarker     writeArray keys idx undefined     writeArray values idx undefined@@ -513,7 +513,7 @@                -> k                -> v                -> ST s ()-insertIntoSlot ht@(HashTable _ _ hashes keys values _) idx he k v = do+insertIntoSlot _ht@(HashTable _ _ hashes keys values _) idx he k v = do     U.writeArray hashes idx he     writeArray keys idx k     writeArray values idx v