summaryrefslogtreecommitdiff
blob: 899fb4176aa2b03a48c1b04802e1a00f212f641a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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"