parent
3028c1be82
commit
1725db9295
1 changed files with 29 additions and 0 deletions
29
tests/template/tshadow.nim
Normal file
29
tests/template/tshadow.nim
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
discard """
|
||||||
|
output: '''fish
|
||||||
|
fish'''
|
||||||
|
"""
|
||||||
|
|
||||||
|
import macros
|
||||||
|
|
||||||
|
block:
|
||||||
|
template init(initHook: proc(s: string)) =
|
||||||
|
proc dostuff =
|
||||||
|
var s = "fish"
|
||||||
|
initHook(s)
|
||||||
|
dostuff()
|
||||||
|
|
||||||
|
init do(s: string):
|
||||||
|
echo s
|
||||||
|
|
||||||
|
block:
|
||||||
|
macro init(initHook: proc(s: string)) =
|
||||||
|
result = newStmtList(
|
||||||
|
newProc(name = ident("dostuff"), body = newStmtList(
|
||||||
|
newVarStmt(ident("s"), newStrLitNode("fish")),
|
||||||
|
newCall(initHook, ident("s"))
|
||||||
|
)),
|
||||||
|
newCall("dostuff")
|
||||||
|
)
|
||||||
|
|
||||||
|
init proc(s: string) =
|
||||||
|
echo s
|
||||||
Loading…
Add table
Add a link
Reference in a new issue