This commit is contained in:
EXetoC
2014-05-04 01:52:42 +02:00
parent 05712fe805
commit b1c865a656
2 changed files with 41 additions and 1 deletions

View File

@@ -869,7 +869,8 @@ proc processBody(node, retFutureSym: PNimrodNode,
else: discard
of nnkDiscardStmt:
# discard await x
if node[0][0].kind == nnkIdent and node[0][0].ident == !"await":
if node[0].kind != nnkEmpty and node[0][0].kind == nnkIdent and
node[0][0].ident == !"await":
var newDiscard = node
createVar("futureDiscard_" & $toStrLit(node[0][1]), node[0][1],
newDiscard[0], newDiscard)

View File

@@ -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()