From 255902f9a5a9f92ce2d65996a43626eff4c3b52c Mon Sep 17 00:00:00 2001 From: Araq Date: Thu, 30 Nov 2017 15:24:30 +0100 Subject: [PATCH] added macros.unpackVarargs --- changelog.md | 1 + lib/core/macros.nim | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/changelog.md b/changelog.md index a37089ef2e..f061805b14 100644 --- a/changelog.md +++ b/changelog.md @@ -117,3 +117,4 @@ This now needs to be written as: your code work with both old and new Nim versions. See [special-operators](https://nim-lang.org/docs/manual.html#special-operators) for more information. +- Added ``macros.unpackVarargs``. diff --git a/lib/core/macros.nim b/lib/core/macros.nim index ebc9f77142..ee6c1a09ff 100644 --- a/lib/core/macros.nim +++ b/lib/core/macros.nim @@ -1226,3 +1226,8 @@ when not defined(booting): macro payload: untyped {.gensym.} = result = parseStmt(e) payload() + +macro unpackVarargs*(callee: untyped; args: varargs[untyped]): untyped = + result = newCall(callee) + for i in 0 ..< args.len: + result.add args[i]