mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-03 19:52:36 +00:00
28 lines
438 B
Nim
28 lines
438 B
Nim
discard """
|
|
output: '''
|
|
0
|
|
t
|
|
'''
|
|
"""
|
|
|
|
import asyncjs, macros
|
|
|
|
macro f*(a: untyped): untyped =
|
|
assert a.kind == nnkProcDef
|
|
result = nnkProcDef.newTree(a.name, a[1], a[2], a.params, a.pragma, a[5], nnkStmtList.newTree())
|
|
let call = quote:
|
|
echo 0
|
|
result.body.add(call)
|
|
for child in a.body:
|
|
result.body.add(child)
|
|
#echo result.body.repr
|
|
|
|
proc t* {.async, f.} =
|
|
echo "t"
|
|
|
|
proc t0* {.async.} =
|
|
await t()
|
|
|
|
discard t0()
|
|
|