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