eval context for macros lives as long as the current module is compiled
This commit is contained in:
parent
fe9bb1869d
commit
a0a8934a4f
6 changed files with 68 additions and 25 deletions
19
tests/accept/run/tidgen.nim
Normal file
19
tests/accept/run/tidgen.nim
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
discard """
|
||||
output: "3 4"
|
||||
"""
|
||||
|
||||
import macros
|
||||
|
||||
# Test compile-time state in same module
|
||||
|
||||
var gid = 3
|
||||
|
||||
macro genId(invokation: expr): expr =
|
||||
result = newIntLitNode(gid)
|
||||
inc gid
|
||||
|
||||
proc Id1(): int = return genId()
|
||||
proc Id2(): int = return genId()
|
||||
|
||||
echo Id1(), " ", Id2()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue