summaryrefslogtreecommitdiff
path: root/libraries/compact/tests
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@cs.stanford.edu>2017-02-20 21:50:41 -0800
committerEdward Z. Yang <ezyang@cs.stanford.edu>2017-02-22 20:47:50 -0800
commit58415741882b8e350beaf81ccedb74ee9c99257d (patch)
tree33478f3282fc4448b90293c77fae06980c7f94eb /libraries/compact/tests
parent992ea02980d59eec0ac730b912fa16733a0fe0e1 (diff)
downloadhaskell-58415741882b8e350beaf81ccedb74ee9c99257d.tar.gz
Drop NFData constraint from compact.
Summary: It's both unsound (easy to write a bogus NFData instance) and incomplete (you might want to serialize data that doesn't have an NFData instance, and will be fine at runtime.) So better just to drop it. (By the way, we used to need the NFData instance to "pre-evaluate" the data before we copied it into the region, but since Simon Marlow rewrote the code to directly evaluate and copy, this is no longer necessary.) Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonmar, austin, dfeuer, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D3168
Diffstat (limited to 'libraries/compact/tests')
-rw-r--r--libraries/compact/tests/compact_function.hs4
-rw-r--r--libraries/compact/tests/compact_huge_array.hs4
-rw-r--r--libraries/compact/tests/compact_loop.hs5
-rw-r--r--libraries/compact/tests/compact_mutable.hs4
-rw-r--r--libraries/compact/tests/compact_pinned.hs1
-rw-r--r--libraries/compact/tests/compact_serialize.hs3
-rw-r--r--libraries/compact/tests/compact_simple_array.hs4
7 files changed, 1 insertions, 24 deletions
diff --git a/libraries/compact/tests/compact_function.hs b/libraries/compact/tests/compact_function.hs
index fc4f4ca172..8193a78a99 100644
--- a/libraries/compact/tests/compact_function.hs
+++ b/libraries/compact/tests/compact_function.hs
@@ -1,10 +1,6 @@
-import Control.DeepSeq
import Control.Exception
import Data.Compact
data HiddenFunction = HiddenFunction (Int -> Int)
-instance NFData HiddenFunction where
- rnf x = x `seq` () -- ignore the function inside
-
main = compact (HiddenFunction (+1))
diff --git a/libraries/compact/tests/compact_huge_array.hs b/libraries/compact/tests/compact_huge_array.hs
index 8a8374297b..87200d807d 100644
--- a/libraries/compact/tests/compact_huge_array.hs
+++ b/libraries/compact/tests/compact_huge_array.hs
@@ -8,7 +8,6 @@ import Control.Monad.ST
import Data.Array
import Data.Array.ST
import qualified Data.Array.Unboxed as U
-import Control.DeepSeq
import Data.Compact
import Data.Compact.Internal
@@ -29,9 +28,6 @@ arrTest = do
writeArray arr j (fromIntegral $ 2*j + 1)
return arr
-instance NFData (U.UArray i e) where
- rnf x = seq x ()
-
-- test :: (Word -> a -> IO (Maybe (Compact a))) -> IO ()
test func = do
let fromList :: Array Int Int
diff --git a/libraries/compact/tests/compact_loop.hs b/libraries/compact/tests/compact_loop.hs
index c8991b05d0..5cf167c393 100644
--- a/libraries/compact/tests/compact_loop.hs
+++ b/libraries/compact/tests/compact_loop.hs
@@ -1,7 +1,6 @@
module Main where
import Control.Exception
-import Control.DeepSeq
import System.Mem
import Text.Show
@@ -29,10 +28,6 @@ instance Show Tree where
showsPrec _ (Node _ l r) = showString "(Node " . shows l .
showString " " . shows r . showString ")"
-instance NFData Tree where
- rnf Nil = ()
- rnf (Node p l r) = p `seq` rnf l `seq` rnf r `seq` ()
-
{-# NOINLINE test #-}
test x = do
let a = Node Nil x b
diff --git a/libraries/compact/tests/compact_mutable.hs b/libraries/compact/tests/compact_mutable.hs
index 2d1a7f2572..fdd7a436ce 100644
--- a/libraries/compact/tests/compact_mutable.hs
+++ b/libraries/compact/tests/compact_mutable.hs
@@ -1,13 +1,9 @@
import Control.Concurrent
-import Control.DeepSeq
import Control.Exception
import Data.Compact
data HiddenMVar = HiddenMVar (MVar ())
-instance NFData HiddenMVar where
- rnf x = x `seq` () -- ignore the function inside
-
main = do
m <- newEmptyMVar
compact (HiddenMVar m)
diff --git a/libraries/compact/tests/compact_pinned.hs b/libraries/compact/tests/compact_pinned.hs
index 39dda61cd7..faeb2fc6bf 100644
--- a/libraries/compact/tests/compact_pinned.hs
+++ b/libraries/compact/tests/compact_pinned.hs
@@ -1,4 +1,3 @@
-import Control.DeepSeq
import Control.Exception
import qualified Data.ByteString.Char8 as B
import Data.Compact
diff --git a/libraries/compact/tests/compact_serialize.hs b/libraries/compact/tests/compact_serialize.hs
index 2b831e048c..f4bd2044fc 100644
--- a/libraries/compact/tests/compact_serialize.hs
+++ b/libraries/compact/tests/compact_serialize.hs
@@ -7,7 +7,6 @@ import System.Mem
import Data.IORef
import Data.ByteString (ByteString, packCStringLen)
import Foreign.Ptr
-import Control.DeepSeq
import Data.Compact
import Data.Compact.Internal
@@ -22,7 +21,7 @@ assertEquals expected actual =
else assertFail $ "expected " ++ (show expected)
++ ", got " ++ (show actual)
-serialize :: NFData a => a -> IO (SerializedCompact a, [ByteString])
+serialize :: a -> IO (SerializedCompact a, [ByteString])
serialize val = do
cnf <- compactSized 4096 True val
diff --git a/libraries/compact/tests/compact_simple_array.hs b/libraries/compact/tests/compact_simple_array.hs
index 69421c5137..88f669837f 100644
--- a/libraries/compact/tests/compact_simple_array.hs
+++ b/libraries/compact/tests/compact_simple_array.hs
@@ -8,7 +8,6 @@ import Control.Monad.ST
import Data.Array
import Data.Array.ST
import qualified Data.Array.Unboxed as U
-import Control.DeepSeq
import Data.Compact
import Data.Compact.Internal
@@ -29,9 +28,6 @@ arrTest = do
writeArray arr j (fromIntegral $ 2*j + 1)
return arr
-instance NFData (U.UArray i e) where
- rnf x = seq x ()
-
-- test :: (Word -> a -> IO (Maybe (Compact a))) -> IO ()
test func = do
let fromList :: Array Int Int