packages feed

hashtables 1.2.4.2 → 1.3

raw patch · 4 files changed

+48/−33 lines, 4 filesdep ~hashablePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hashable

API changes (from Hackage documentation)

Files

cabal.project view
@@ -1,1 +1,5 @@ packages: .++tests: True++test-show-details: direct
changelog.md view
@@ -1,5 +1,16 @@ # Hashtables changelog +## 1.3++Support Hashable 1.4. This new version of Hashable drops the Eq constraint, so the Eq constraint+needs to be dropped in the SPECIALIZE statements in Hashtables.++## 1.2.4.2++Cabal file: add missing other-modules+Silence import warnings. Know that we require ghc >= 7.8.+Fix build with GHC 9.2+ ## 1.2.4.1  Update some test suite dep upper bounds.
hashtables.cabal view
@@ -1,6 +1,6 @@ Cabal-Version: 2.2 Name:                hashtables-Version:             1.2.4.2+Version:             1.3 Synopsis:            Mutable hash tables in the ST monad Homepage:            http://github.com/gregorycollins/hashtables License:             BSD-3-Clause@@ -192,7 +192,7 @@                      Data.HashTable.Internal.Linear.Bucket    Build-depends:     base      >= 4.7 && <5,-                     hashable  >= 1.1 && <1.2 || >= 1.2.1 && <1.4,+                     hashable  >= 1.4 && < 1.5,                      primitive,                      vector    >= 0.7 && <0.13 @@ -270,7 +270,7 @@     cpp-options: -DBOUNDS_CHECKING    Build-depends:     base                       >= 4     && <5,-                     hashable  >= 1.1 && <1.2 || >= 1.2.1 && <1.4,+                     hashable                   >= 1.4 && < 1.5,                      mwc-random                 >= 0.8   && <0.16,                      primitive,                      QuickCheck                 >= 2.3.0.2,
src/Data/HashTable/IO.hs view
@@ -123,11 +123,11 @@             IOHashTable h k v -> k -> v -> IO () insert h k v = stToIO $ C.insert h k v {-# INLINE insert #-}-{-# SPECIALIZE INLINE insert :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE insert :: Hashable k =>                          BasicHashTable  k v -> k -> v -> IO () #-}-{-# SPECIALIZE INLINE insert :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE insert :: Hashable k =>                          LinearHashTable k v -> k -> v -> IO () #-}-{-# SPECIALIZE INLINE insert :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE insert :: Hashable k =>                          CuckooHashTable k v -> k -> v -> IO () #-}  @@ -137,11 +137,11 @@             IOHashTable h k v -> k -> IO () delete h k = stToIO $ C.delete h k {-# INLINE delete #-}-{-# SPECIALIZE INLINE delete :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE delete :: Hashable k =>                          BasicHashTable  k v -> k -> IO () #-}-{-# SPECIALIZE INLINE delete :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE delete :: Hashable k =>                          LinearHashTable k v -> k -> IO () #-}-{-# SPECIALIZE INLINE delete :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE delete :: Hashable k =>                          CuckooHashTable k v -> k -> IO () #-}  @@ -151,11 +151,11 @@             IOHashTable h k v -> k -> IO (Maybe v) lookup h k = stToIO $ C.lookup h k {-# INLINE lookup #-}-{-# SPECIALIZE INLINE lookup :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE lookup :: Hashable k =>                          BasicHashTable  k v -> k -> IO (Maybe v) #-}-{-# SPECIALIZE INLINE lookup :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE lookup :: Hashable k =>                          LinearHashTable k v -> k -> IO (Maybe v) #-}-{-# SPECIALIZE INLINE lookup :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE lookup :: Hashable k =>                          CuckooHashTable k v -> k -> IO (Maybe v) #-}  ------------------------------------------------------------------------------@@ -164,11 +164,11 @@                  IOHashTable h k v -> k -> IO (Maybe Word) lookupIndex h k = stToIO $ C.lookupIndex h k {-# INLINE lookupIndex #-}-{-# SPECIALIZE INLINE lookupIndex :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE lookupIndex :: Hashable k =>                          BasicHashTable  k v -> k -> IO (Maybe Word) #-}-{-# SPECIALIZE INLINE lookupIndex :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE lookupIndex :: Hashable k =>                          LinearHashTable k v -> k -> IO (Maybe Word) #-}-{-# SPECIALIZE INLINE lookupIndex :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE lookupIndex :: Hashable k =>                          CuckooHashTable k v -> k -> IO (Maybe Word) #-}  ------------------------------------------------------------------------------@@ -177,11 +177,11 @@                  IOHashTable h k v -> Word -> IO (Maybe (Word,k,v)) nextByIndex h k = stToIO $ C.nextByIndex h k {-# INLINE nextByIndex #-}-{-# SPECIALIZE INLINE nextByIndex :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE nextByIndex :: Hashable k =>                          BasicHashTable  k v -> Word -> IO (Maybe (Word,k,v)) #-}-{-# SPECIALIZE INLINE nextByIndex :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE nextByIndex :: Hashable k =>                          LinearHashTable k v -> Word -> IO (Maybe (Word,k,v)) #-}-{-# SPECIALIZE INLINE nextByIndex :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE nextByIndex :: Hashable k =>                          CuckooHashTable k v -> Word -> IO (Maybe (Word,k,v)) #-}  ------------------------------------------------------------------------------@@ -190,11 +190,11 @@               IOHashTable h k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a mutateIO h k f = stToIO $ C.mutateST h k (ioToST . f) {-# INLINE mutateIO #-}-{-# SPECIALIZE INLINE mutateIO :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE mutateIO :: Hashable k =>                          BasicHashTable  k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a #-}-{-# SPECIALIZE INLINE mutateIO :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE mutateIO :: Hashable k =>                          LinearHashTable k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a #-}-{-# SPECIALIZE INLINE mutateIO :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE mutateIO :: Hashable k =>                          CuckooHashTable k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a #-}  ------------------------------------------------------------------------------@@ -203,11 +203,11 @@             IOHashTable h k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a mutate h k f = stToIO $ C.mutate h k f {-# INLINE mutate #-}-{-# SPECIALIZE INLINE mutate :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE mutate :: Hashable k =>                          BasicHashTable  k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a #-}-{-# SPECIALIZE INLINE mutate :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE mutate :: Hashable k =>                          LinearHashTable k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a #-}-{-# SPECIALIZE INLINE mutate :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE mutate :: Hashable k =>                          CuckooHashTable k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a #-}  @@ -218,11 +218,11 @@             [(k,v)] -> IO (IOHashTable h k v) fromList = stToIO . C.fromList {-# INLINE fromList #-}-{-# SPECIALIZE INLINE fromList :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE fromList :: Hashable k =>                            [(k,v)] -> IO (BasicHashTable  k v) #-}-{-# SPECIALIZE INLINE fromList :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE fromList :: Hashable k =>                            [(k,v)] -> IO (LinearHashTable k v) #-}-{-# SPECIALIZE INLINE fromList :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE fromList :: Hashable k =>                            [(k,v)] -> IO (CuckooHashTable k v) #-}  @@ -233,11 +233,11 @@                         Int -> [(k,v)] -> IO (IOHashTable h k v) fromListWithSizeHint n = stToIO . C.fromListWithSizeHint n {-# INLINE fromListWithSizeHint #-}-{-# SPECIALIZE INLINE fromListWithSizeHint :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE fromListWithSizeHint :: Hashable k =>                            Int -> [(k,v)] -> IO (BasicHashTable  k v) #-}-{-# SPECIALIZE INLINE fromListWithSizeHint :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE fromListWithSizeHint :: Hashable k =>                            Int -> [(k,v)] -> IO (LinearHashTable k v) #-}-{-# SPECIALIZE INLINE fromListWithSizeHint :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE fromListWithSizeHint :: Hashable k =>                            Int -> [(k,v)] -> IO (CuckooHashTable k v) #-}  @@ -247,11 +247,11 @@             IOHashTable h k v -> IO [(k,v)] toList = stToIO . C.toList {-# INLINE toList #-}-{-# SPECIALIZE INLINE toList :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE toList :: Hashable k =>                          BasicHashTable  k v -> IO [(k,v)] #-}-{-# SPECIALIZE INLINE toList :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE toList :: Hashable k =>                          LinearHashTable k v -> IO [(k,v)] #-}-{-# SPECIALIZE INLINE toList :: (Eq k, Hashable k) =>+{-# SPECIALIZE INLINE toList :: Hashable k =>                          CuckooHashTable k v -> IO [(k,v)] #-}