summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2020-03-18 18:22:14 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2020-03-18 18:22:14 -0400
commit85dda90bf45c16956e917c45c525ad1a67727753 (patch)
tree862140e2a1a4ad4c9b150a177a27e84b138c1365 /tests
parent3755ea8479b54cd823a6151e230e6cda8894d69a (diff)
cant return a #C, improved defer test
Diffstat (limited to 'tests')
-rw-r--r--tests/defer.toc12
-rw-r--r--tests/defer_expected2
2 files changed, 14 insertions, 0 deletions
diff --git a/tests/defer.toc b/tests/defer.toc
index 77a4c4e..32165e7 100644
--- a/tests/defer.toc
+++ b/tests/defer.toc
@@ -1,6 +1,18 @@
#include "io.toc", io;
+plusone ::= fn(n : int) x := n {
+ defer x += 1;
+}
+
+same ::= fn(n : int) int {
+ x := n;
+ defer x += 1;
+ x
+}
+
main ::= fn() {
+ io.puti(plusone(3));
+ io.puti(same(3));
defer io.puts("deferred from main()");
for i := 1..10 {
defer io.puts("deferred from for");
diff --git a/tests/defer_expected b/tests/defer_expected
index 0a6daa7..99b45e1 100644
--- a/tests/defer_expected
+++ b/tests/defer_expected
@@ -1,3 +1,5 @@
+4
+3
1
deferred from for
2