eval context for macros lives as long as the current module is compiled

This commit is contained in:
Araq 2011-10-28 01:38:41 +02:00
commit a0a8934a4f
6 changed files with 68 additions and 25 deletions

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