@@ -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