Merge pull request #6944 from alehander42/fix-discardable
Make asyncjs Future[void] play nicely with last line discardable calls & forward declaration
This commit is contained in:
commit
8c0e73479e
2 changed files with 49 additions and 12 deletions
|
|
@ -1,8 +1,8 @@
|
|||
discard """
|
||||
disabled: true
|
||||
output: '''
|
||||
0
|
||||
x
|
||||
e
|
||||
'''
|
||||
"""
|
||||
|
||||
|
|
@ -10,16 +10,22 @@ import asyncjs
|
|||
|
||||
# demonstrate forward definition
|
||||
# for js
|
||||
proc y(e: int): Future[string]
|
||||
proc y(e: int): Future[string] {.async.}
|
||||
|
||||
proc x(e: int) {.async.} =
|
||||
proc e: int {.discardable.} =
|
||||
echo "e"
|
||||
return 2
|
||||
|
||||
proc x(e: int): Future[void] {.async.} =
|
||||
var s = await y(e)
|
||||
echo s
|
||||
e()
|
||||
|
||||
proc y(e: int): Future[string] {.async.} =
|
||||
echo 0
|
||||
return "x"
|
||||
|
||||
if e > 0:
|
||||
return await y(0)
|
||||
else:
|
||||
return "x"
|
||||
|
||||
|
||||
discard x(2)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue