aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/test/lux/control/region.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/test/lux/control/region.lux')
-rw-r--r--stdlib/source/test/lux/control/region.lux13
1 files changed, 11 insertions, 2 deletions
diff --git a/stdlib/source/test/lux/control/region.lux b/stdlib/source/test/lux/control/region.lux
index d911c15d5..b65590437 100644
--- a/stdlib/source/test/lux/control/region.lux
+++ b/stdlib/source/test/lux/control/region.lux
@@ -2,6 +2,7 @@
[lux #*
["_" test (#+ Test)]
[abstract
+ [equivalence (#+ Equivalence)]
[functor (#+ Functor)]
[apply (#+ Apply)]
["." monad (#+ Monad do)]
@@ -55,8 +56,16 @@
(def: comparison
(Comparison (All [a] (All [! r] (Region r (Thread !) a))))
(function (_ == left right)
- (case [(:assume (thread.run (:assume (/.run thread.monad left))))
- (:assume (thread.run (:assume (/.run thread.monad right))))]
+ (case [(:share [a]
+ {(Equivalence a)
+ ==}
+ {(Try a)
+ (thread.run (:assume (/.run thread.monad left)))})
+ (:share [a]
+ {(Equivalence a)
+ ==}
+ {(Try a)
+ (thread.run (:assume (/.run thread.monad right)))})]
[(#try.Success left) (#try.Success right)]
(== left right)