all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob d21a1e485ccd6667a2ba3f74e9960efe228c8ad4 1490 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
This patch is taken from upstream.  It fixes a test to work with GHC 8.6.
The paths have been slightly altered to work with the release tarball.

See <https://github.com/simonmar/monad-par/issues/66>.

From e20f81c8060208e4fb038e8f0e0668b41d72a6fb Mon Sep 17 00:00:00 2001
From: Clint Adams <clint@debian.org>
Date: Sat, 31 Aug 2019 14:12:34 -0400
Subject: [PATCH] Use a case statement instead of pattern-matching in
 case_test_diamond

This avoids the need for a MonadFail instance.  Closes #66
---
 monad-par/tests/ParTests_shared.hs | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tests/ParTests_shared.hs b/tests/ParTests_shared.hs
index 31f438d..b2de50c 100644
--- a/tests/ParTests_shared.hs
+++ b/tests/ParTests_shared.hs
@@ -109,12 +109,15 @@ case_test_diamond :: Assertion
 case_test_diamond = 9 @=? (m :: Int)
  where 
   m = runPar $ do
-      [a,b,c,d] <- sequence [new,new,new,new]
-      fork $ do x <- get a; put b (x+1)
-      fork $ do x <- get a; put c (x+2)
-      fork $ do x <- get b; y <- get c; put d (x+y)
-      fork $ do put a 3
-      get d
+      abcd <- sequence [new,new,new,new]
+      case abcd of
+          [a,b,c,d] -> do
+              fork $ do x <- get a; put b (x+1)
+              fork $ do x <- get a; put c (x+2)
+              fork $ do x <- get b; y <- get c; put d (x+y)
+              fork $ do put a 3
+              get d
+          _ -> error "Oops"
 
 -- | Violate IVar single-assignment:
 --
-- 
2.23.0


debug log:

solving d21a1e485c ...
found d21a1e485c in https://git.savannah.gnu.org/cgit/guix.git

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.