diff options
Diffstat (limited to 'stdlib/source/test/lux/control/region.lux')
-rw-r--r-- | stdlib/source/test/lux/control/region.lux | 13 |
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) |