File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed
vector/tests-inspect/Inspect Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change 1
1
{-# LANGUAGE BangPatterns #-}
2
+ {-# LANGUAGE CPP #-}
2
3
{-# LANGUAGE ScopedTypeVariables #-}
3
4
{-# LANGUAGE TypeApplications #-}
4
5
{- |
@@ -27,12 +28,23 @@ tests = testGroup "allocations"
27
28
[ testCase " IO"
28
29
$ checkAllocations (linear 8 )
29
30
$ whnfIO (VU. traverse (\ _ -> getAllocationCounter) vector)
31
+
32
+ #if MIN_VERSION_base(4,17,0)
33
+ -- GHC<9.4 doesn't optimize well.
30
34
, testCase " ST"
31
35
$ checkAllocations (linear 8 )
32
36
$ (\ v -> runST $ VU. traverse (pureST . fromIntegral ) v) `whnf` vector
37
+ #endif
38
+
39
+ #if MIN_VERSION_base(4,15,0)
40
+ -- GHC<9.0 doesn't optimize this well. And there's no appetite
41
+ -- for finding out why. Thus it's disabled for them. We'll still
42
+ -- catch regression going forward.
33
43
, testCase " Identity"
34
44
$ checkAllocations (linear 8 )
35
45
$ VU. traverse (\ n -> Identity (10 * n)) `whnf` vector
46
+ #endif
47
+
36
48
-- NOTE: Naive traversal is lazy and allocated 2 words per element
37
49
--
38
50
-- , testCase "Const Sum"
You can’t perform that action at this time.
0 commit comments