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 <[email protected]> Date: Wed Feb 20 13:23:16 2013 +0100 Eliminate ambiguous use of unsafePerformIO diff --git a/src/Data/Binary/Builder/Base.hs b/src/Data/Binary/Builder/Base.hs index 9331a70..223aade 100644 --- a/src/Data/Binary/Builder/Base.hs +++ b/src/Data/Binary/Builder/Base.hs @@ -66,9 +66,11 @@ import qualified Data.ByteString as S import qualified Data.ByteString.Lazy as L import Data.Monoid import Data.Word -import Foreign #if MIN_VERSION_base(4,7,0) +import Foreign hiding (unsafePerformIO) import System.IO.Unsafe +#else +import Foreign #endif #ifdef BYTESTRING_IN_BASE $ git show 741c15156534bdeeb99c8072f13046fc8217688c commit 741c15156534bdeeb99c8072f13046fc8217688c Author: Gabor Greif <[email protected]> Date: Wed Feb 20 13:21:28 2013 +0100 Eliminate 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 Sorry for the confusion! Cheers, Gabor On 2/20/13, Gabor Greif <[email protected]> wrote: > 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 <[email protected]> > 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 <[email protected]> > 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 > _______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
