aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/control/contract.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/control/contract.lux')
-rw-r--r--stdlib/source/lux/control/contract.lux9
1 files changed, 4 insertions, 5 deletions
diff --git a/stdlib/source/lux/control/contract.lux b/stdlib/source/lux/control/contract.lux
index 71d476517..72b4c0770 100644
--- a/stdlib/source/lux/control/contract.lux
+++ b/stdlib/source/lux/control/contract.lux
@@ -29,9 +29,8 @@
"Otherwise, an error is raised."
(post i/even?
(i/+ 2 2)))}
- (do @
- [g!output (macro.gensym "")]
- (wrap (list (` (let [(~@ g!output) (~ expr)]
+ (macro.with-gensyms [g!output]
+ (wrap (list (` (let [(~ g!output) (~ expr)]
(exec (assert! (~ (code.text (format "Post-condition failed: " (%code test))))
- ((~ test) (~@ g!output)))
- (~@ g!output))))))))
+ ((~ test) (~ g!output)))
+ (~ g!output))))))))