Bootstrapping fun:
* Addr is an abstract type in Addr, so import from PrelAddr instead
* Ignore the (recently introduced) return value of hPutBuf{,BA}
Probably more to come. No problem, as long as I don't run out of malt
first... %-)
import PrimPacked
import GlaExts
-import Addr ( Addr(..) )
+import PrelAddr ( Addr(..) )
#if __GLASGOW_HASKELL__ < 407
import MutableArray ( MutableArray(..) )
#else
#else
| otherwise = do mba <- stToIO $ unsafeThawByteArray (ByteArray (bot::Int) bot ba#)
hPutBufBA handle mba (I# l#)
+ return ()
#endif
where
bot = error "hPutFS.ba"
hPutFS handle (CharStr a# l#)
| l# ==# 0# = return ()
- | otherwise = hPutBuf handle (A# a#) (I# l#)
+ | otherwise = do hPutBuf handle (A# a#) (I# l#) ; return ()
#endif
#include "HsVersions.h"
import GlaExts
-import Addr ( Addr(..) )
+import PrelAddr ( Addr(..) )
import ST
import Foreign
-- ForeignObj is now exported abstractly.