Comment out the NFData instance for mutable boxed vectors for now
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Sun, 29 Jan 2012 12:14:29 +0000 (12:14 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Sun, 29 Jan 2012 12:14:29 +0000 (12:14 +0000)
Data/Vector/Mutable.hs

index 6168bea..e896f3a 100644 (file)
@@ -72,12 +72,15 @@ data MVector s a = MVector {-# UNPACK #-} !Int
 type IOVector = MVector RealWorld
 type STVector s = MVector s
 
 type IOVector = MVector RealWorld
 type STVector s = MVector s
 
+-- NOTE: This seems unsafe, see http://trac.haskell.org/vector/ticket/54
+{-
 instance NFData a => NFData (MVector s a) where
     rnf (MVector i n arr) = unsafeInlineST $ force i
         where
           force !ix | ix < n    = do x <- readArray arr ix
                                      rnf x `seq` force (ix+1)
                     | otherwise = return ()
 instance NFData a => NFData (MVector s a) where
     rnf (MVector i n arr) = unsafeInlineST $ force i
         where
           force !ix | ix < n    = do x <- readArray arr ix
                                      rnf x `seq` force (ix+1)
                     | otherwise = return ()
+-}
 
 instance G.MVector MVector a where
   {-# INLINE basicLength #-}
 
 instance G.MVector MVector a where
   {-# INLINE basicLength #-}