git.iko.soy/distributed-process
on master help sign in
Use unsafePerformIO instead of inlinePerformIO
commitad922c69dfcf8b46e28686ac841f0d8d5e79a28a authorBen Gamari <ben@smart-cactus.org> dateWed 6 Jul 2016, 20:37 (10 years ago) parent7aac9bb
1 file changed+3−5
src/Control/Distributed/Process/Serializable.hs+3−5
src/Control/Distributed/Process/Serializable.hs+3−5
@@ -30,12 +30,10 @@ import Control.Exception (throw)
3030import GHC.Fingerprint.Type (Fingerprint(..))
3131import Data.ByteString (ByteString)
3232import qualified Data.ByteString as BS
33−import qualified Data.ByteString.Internal as BSI ( unsafeCreate
34− , inlinePerformIO
35− , toForeignPtr
36− )
33+import qualified Data.ByteString.Internal as BSI ( unsafeCreate, toForeignPtr )
3734import Foreign.Storable (pokeByteOff, peekByteOff, sizeOf)
3835import Foreign.ForeignPtr (withForeignPtr)
36+import System.IO.Unsafe (unsafePerformIO)
3937
4038-- | Reification of 'Serializable' (see "Control.Distributed.Process.Closure")
4139data SerializableDict a where
@@ -63,7 +61,7 @@ decodeFingerprint :: ByteString -> Fingerprint
6361decodeFingerprint bs
6462 | BS.length bs /= sizeOfFingerprint =
6563 throw $ userError "decodeFingerprint: Invalid length"
66− | otherwise = BSI.inlinePerformIO $ do
64+ | otherwise = unsafePerformIO $ do
6765 let (fp, offset, _) = BSI.toForeignPtr bs
6866 withForeignPtr fp $ \p -> peekByteOff p offset
6967