diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system.nim | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/system.nim b/lib/system.nim index 05029b9d7..a1f94218e 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -4198,6 +4198,11 @@ type NimNode* {.magic: "PNimrodNode".} = ref NimNodeObj ## Represents a Nim AST node. Macros operate on this type. +macro lenVarargs*(x: varargs[untyped]): int {.since: (1, 1).} = + ## returns number of variadic arguments in `x` + proc lenVarargsImpl(x: NimNode): NimNode {.magic: "LengthOpenArray", noSideEffect.} + lenVarargsImpl(x) + when false: template eval*(blk: typed): typed = ## Executes a block of code at compile time just as if it was a macro. |