[commit: vector] : Work around bug in ghc-7.6.1 (1d21026)

Geoffrey Mainland gmainlan at ghc.haskell.org
Fri Jul 19 14:24:54 CEST 2013


Repository : http://darcs.haskell.org/ghc.git/

On branch  : 

http://hackage.haskell.org/trac/ghc/changeset/1d2102611066060c1d6e2128134c0f7e4544f1a9

>---------------------------------------------------------------

commit 1d2102611066060c1d6e2128134c0f7e4544f1a9
Author: Roman Leshchinskiy <rl at cse.unsw.edu.au>
Date:   Fri Sep 28 23:10:21 2012 +0000

    Work around bug in ghc-7.6.1

>---------------------------------------------------------------

 Data/Vector/Fusion/Stream/Monadic.hs |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Data/Vector/Fusion/Stream/Monadic.hs b/Data/Vector/Fusion/Stream/Monadic.hs
index c77bceb..5f1c363 100644
--- a/Data/Vector/Fusion/Stream/Monadic.hs
+++ b/Data/Vector/Fusion/Stream/Monadic.hs
@@ -1683,7 +1683,7 @@ fromVector v = v `seq` n `seq` Facets (Unf step 0)
     vstep True  = return (Yield (Chunk (basicLength v) (\mv -> basicUnsafeCopy mv v)) False)
     vstep False = return Done
 
-fromVectors :: (Monad m, Vector v a) => [v a] -> Facets m v a
+fromVectors :: forall m v a. (Monad m, Vector v a) => [v a] -> Facets m v a
 {-# INLINE_FUSED fromVectors #-}
 fromVectors vs = Facets (Unf pstep (Left vs))
                         (Unf vstep vs)
@@ -1700,7 +1700,8 @@ fromVectors vs = Facets (Unf pstep (Left vs))
       | otherwise          = case basicUnsafeIndexM v i of
                                Box x -> return $ Yield x (Right (v,i+1,vs))
 
-
+    -- FIXME: work around bug in GHC 7.6.1
+    vstep :: [v a] -> m (Step [v a] (Chunk v a))
     vstep [] = return Done
     vstep (v:vs) = return $ Yield (Chunk (basicLength v)
                                          (\mv -> basicUnsafeCopy mv v)) vs






More information about the ghc-commits mailing list