Avoid evaluating macros twice in type sections (#10550)

Fixes #10548
This commit is contained in:
LemonBoy 2019-02-06 11:35:44 +01:00 • committed by Andreas Rumpf
commit 6c8dee4180
2 changed files with 20 additions and 0 deletions

View file

@ -23,3 +23,18 @@ checkType(voidProc(), "void")
checkType(intProc(10, 20.0), "int")
checkType(voidProc, "procTy")
checkProcType(voidProc)
# bug #10548
block:
var c {.compileTime.} = 0
macro meshImpl(arg: typed): untyped =
inc c
result = arg
type
Blub = int32
Mesh = meshImpl(Club)
Club = Blub
static: doAssert(c == 1)