
OOPS, these are the wrong patches I included,
I have to go hunting for them...
Here they are:
$git show cb5d1d88bd338f96e044609c84d11a004d7147d8
commit cb5d1d88bd338f96e044609c84d11a004d7147d8
Author: Gabor Greif
Hi all,
when bootstrapping with GHC-7.7 I get
HC [stage 0] libraries/binary/dist-boot/build/Data/Binary/Get.o
libraries/binary/src/Data/Binary/Get.hs:101:1: Warning: The import of `GHC.Int' is redundant except perhaps to import instances from `GHC.Int' To import instances alone, use: import GHC.Int()
libraries/binary/src/Data/Binary/Get.hs:371:15: Warning: In the use of `unsafeInterleaveST' (imported from Control.Monad.ST): Deprecated: "Please import from Control.Monad.ST.Unsafe instead; This will be removed in the next release"
libraries/binary/src/Data/Binary/Get.hs:383:44: Warning: In the use of `unsafeInterleaveST' (imported from Control.Monad.ST): Deprecated: "Please import from Control.Monad.ST.Unsafe instead; This will be removed in the next release" HC [stage 0] libraries/binary/dist-boot/build/Data/Binary/Builder/Base.o
libraries/binary/src/Data/Binary/Builder/Base.hs:180:22: Ambiguous occurrence `unsafePerformIO' It could refer to either `Foreign.unsafePerformIO', imported from `Foreign' at libraries/binary/src/Data/Binary/Builder/Base.hs:69:1-14 or `System.IO.Unsafe.unsafePerformIO', imported from `System.IO.Unsafe' at libraries/binary/src/Data/Binary/Builder/Base.hs:71:1-23 (and originally defined in `GHC.IO') make[1]: *** [libraries/binary/dist-boot/build/Data/Binary/Builder/Base.o] Error 1
I have two commits to fix this:
$ git show ded894cd6abb209406e2ce16361acbb7111774d0 commit ded894cd6abb209406e2ce16361acbb7111774d0 Author: Gabor Greif
Date: Thu Oct 25 12:59:53 2012 +0200 fix import warnings
diff --git a/src/Data/Binary/Get.hs b/src/Data/Binary/Get.hs index 7134217..eaba669 100644 --- a/src/Data/Binary/Get.hs +++ b/src/Data/Binary/Get.hs @@ -92,13 +92,13 @@ import Control.Applicative (Applicative(..)) import Foreign
-- used by splitAtST -import Control.Monad.ST +import Control.Monad.ST (ST, runST) +import Control.Monad.ST.Unsafe (unsafeInterleaveST) import Data.STRef
#if defined(__GLASGOW_HASKELL__) && !defined(__HADDOCK__) import GHC.Base import GHC.Word -import GHC.Int #endif
-- | The parse state
$ git show 9c8b00ab88b6b8b996e0725d242df9a225d4236e commit 9c8b00ab88b6b8b996e0725d242df9a225d4236e Author: Gabor Greif
Date: Thu Oct 25 13:39:28 2012 +0200 do not import unsafePerformIO from Foreign (eliminating warning)
diff --git a/src/Data/Binary/Builder/Base.hs b/src/Data/Binary/Builder/Base.hs index 8124f65..31b5115 100644 --- a/src/Data/Binary/Builder/Base.hs +++ b/src/Data/Binary/Builder/Base.hs @@ -67,6 +67,7 @@ import qualified Data.ByteString.Lazy as L import Data.Monoid import Data.Word import Foreign +import System.IO.Unsafe (unsafePerformIO)
#ifdef BYTESTRING_IN_BASE import Data.ByteString.Base (inlinePerformIO) @@ -174,7 +175,7 @@ data Buffer = Buffer {-# UNPACK #-} !(ForeignPtr Word8) -- the lazy 'L.ByteString' is demanded. -- toLazyByteString :: Builder -> L.ByteString -toLazyByteString m = unsafePerformIO $ do +toLazyByteString m = System.IO.Unsafe.unsafePerformIO $ do buf <- newBuffer defaultSize runBuilder (m `append` flush) (const (return L.Empty)) buf {-# INLINE toLazyByteString #-}
Okay to push to master?
Cheers,
Gabor