summary refs log tree commit diff stats
path: root/tests/async
diff options
context:
space:
mode:
authorEXetoC <exetoc@gmail.com>2014-05-04 01:52:42 +0200
committerEXetoC <exetoc@gmail.com>2014-05-04 01:52:42 +0200
commitb1c865a656d6ee422f7d841a1e881874766a2b77 (patch)
tree7b530f2b809db1d11693817f4ba47992fb3e6c8b /tests/async
parent05712fe8053420ecf481757e529a7ef2f32fb75c (diff)
downloadNim-b1c865a656d6ee422f7d841a1e881874766a2b77.tar.gz
Fix #1170.
Diffstat (limited to 'tests/async')
-rw-r--r--tests/async/tasyncdiscard.nim39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/async/tasyncdiscard.nim b/tests/async/tasyncdiscard.nim
new file mode 100644
index 000000000..48d8a8c4d
--- /dev/null
+++ b/tests/async/tasyncdiscard.nim
@@ -0,0 +1,39 @@
+discard """
+  output: '''
+1
+2
+3
+4
+1
+2
+1
+6
+'''
+"""
+import asyncio, asyncdispatch, asyncnet
+
+proc main {.async.} =
+  proc f: PFuture[int] {.async.} =
+    discard
+    echo 1
+    discard
+    result = 2
+    discard
+
+  let x = await f()
+  echo x
+  echo 3
+
+  proc g: PFuture[int] {.async.} =
+    discard
+    echo 4
+    discard
+    result = 6
+    discard
+    echo await f()
+    discard await f()
+
+  discard await g()
+  echo 6
+
+main()