summaryrefslogtreecommitdiff
path: root/dev-haskell/bloomfilter/files/bloomfilter-1.2.6.10-ghc-7.7.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/bloomfilter/files/bloomfilter-1.2.6.10-ghc-7.7.patch')
-rw-r--r--dev-haskell/bloomfilter/files/bloomfilter-1.2.6.10-ghc-7.7.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/dev-haskell/bloomfilter/files/bloomfilter-1.2.6.10-ghc-7.7.patch b/dev-haskell/bloomfilter/files/bloomfilter-1.2.6.10-ghc-7.7.patch
new file mode 100644
index 000000000000..899fb4176aa2
--- /dev/null
+++ b/dev-haskell/bloomfilter/files/bloomfilter-1.2.6.10-ghc-7.7.patch
@@ -0,0 +1,46 @@
+diff --git a/Data/BloomFilter.hs b/Data/BloomFilter.hs
+index 69711ef..97a8348 100644
+--- a/Data/BloomFilter.hs
++++ b/Data/BloomFilter.hs
+@@ -93,7 +93,8 @@ import Control.Monad (liftM, forM_)
+ import Control.Monad.ST (ST, runST)
+ import Control.DeepSeq (NFData(..))
+ import Data.Array.Base (unsafeAt, unsafeRead, unsafeWrite)
+-import Data.Array.ST (STUArray, thaw, unsafeFreeze)
++import Data.Array.ST (STUArray, thaw)
++import qualified Data.Array.Unsafe as U (unsafeFreeze)
+ import Data.Array.Unboxed (UArray)
+ import Data.Bits ((.&.), (.|.))
+ import Data.BloomFilter.Array (newArray)
+@@ -336,7 +337,7 @@ notElemB elt ub = any test (hashesU ub elt)
+ -- occur. For a safer creation interface, use 'createB'.
+ unsafeFreezeMB :: MBloom s a -> ST s (Bloom a)
+ unsafeFreezeMB mb = B (hashMB mb) (shiftMB mb) (maskMB mb) `liftM`
+- unsafeFreeze (bitArrayMB mb)
++ U.unsafeFreeze (bitArrayMB mb)
+
+ -- | Copy an immutable Bloom filter to create a mutable one. There is
+ -- no non-copying equivalent.
+diff --git a/Data/BloomFilter/Array.hs b/Data/BloomFilter/Array.hs
+index e085bbe..5accde9 100644
+--- a/Data/BloomFilter/Array.hs
++++ b/Data/BloomFilter/Array.hs
+@@ -3,7 +3,8 @@
+
+ module Data.BloomFilter.Array (newArray) where
+
+-import Control.Monad.ST (ST, unsafeIOToST)
++import Control.Monad.ST (ST)
++import qualified Control.Monad.ST.Unsafe as U (unsafeIOToST)
+ import Data.Array.Base (MArray, STUArray(..), unsafeNewArray_)
+ #if __GLASGOW_HASKELL__ >= 704
+ import Foreign.C.Types (CInt(..), CSize(..))
+@@ -18,7 +19,7 @@ newArray :: forall e s. (MArray (STUArray s) e (ST s)) =>
+ {-# INLINE newArray #-}
+ newArray numElems numBytes = do
+ ary@(STUArray _ _ _ marr#) <- unsafeNewArray_ (0, numElems - 1)
+- _ <- unsafeIOToST (memset marr# 0 (fromIntegral numBytes))
++ _ <- U.unsafeIOToST (memset marr# 0 (fromIntegral numBytes))
+ return ary
+
+ foreign import ccall unsafe "memset"