ref: ddfd7cbc3f0d1c3556e206f838986f61f9805e57
parent: f7409aa51cf64605daecd7b6cdb78885ef344ab6
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Sat Feb 10 13:58:53 EST 2024
Move unsafeInterleaveIO
--- a/lib/System/IO.hs
+++ b/lib/System/IO.hs
@@ -21,7 +21,6 @@
mkTextEncoding, hSetEncoding, utf8,
- unsafeInterleaveIO,
getTimeMilli,
openTmpFile,
@@ -47,6 +46,7 @@
import Foreign.C.String
import Foreign.Marshal.Alloc
import Foreign.Ptr
+import System.IO.Unsafe
data FILE
data BFILE
@@ -273,9 +273,6 @@
getTimeMilli :: IO Int
getTimeMilli = c_getTimeMilli
-
-unsafeInterleaveIO :: forall a . IO a -> IO a
-unsafeInterleaveIO ioa = return (primPerformIO ioa)
openBinaryFile :: String -> IOMode -> IO Handle
openBinaryFile p m = do
--- a/lib/System/IO/Unsafe.hs
+++ b/lib/System/IO/Unsafe.hs
@@ -1,6 +1,9 @@
-module System.IO.Unsafe(unsafePerformIO) where
+module System.IO.Unsafe(unsafePerformIO, unsafeInterleaveIO) where
import Prelude()
import Primitives
unsafePerformIO :: IO a -> a
unsafePerformIO = primPerformIO
+
+unsafeInterleaveIO :: forall a . IO a -> IO a
+unsafeInterleaveIO ioa = primReturn (primPerformIO ioa)
--
⑨