diff options
author | Arne Döring <arne.doering@gmx.net> | 2017-07-13 17:07:33 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-07-13 17:07:33 +0200 |
commit | 52cab78ae57b5a36c7e05c41fa23a55b8302b2ee (patch) | |
tree | 5c0a4de9aff2febf92b06e033ef78f9503dac558 /lib/core | |
parent | 03e0aa37e3d41c77475a2484e9a3d084e26bd8bf (diff) | |
download | Nim-52cab78ae57b5a36c7e05c41fa23a55b8302b2ee.tar.gz |
newLit emty seq fix (#6091)
* the type of the empty seq is still the correct type * updated test
Diffstat (limited to 'lib/core')
-rw-r--r-- | lib/core/macros.nim | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/core/macros.nim b/lib/core/macros.nim index af1e9de28..cdc91ce2b 100644 --- a/lib/core/macros.nim +++ b/lib/core/macros.nim @@ -527,10 +527,17 @@ proc newLit*[N,T](arg: array[N,T]): NimNode {.compileTime.} = result.add newLit(x) proc newLit*[T](arg: seq[T]): NimNode {.compileTime.} = - result = nnkBracket.newTree + var bracket = nnkBracket.newTree for x in arg: - result.add newLit(x) - result = nnkPrefix.newTree(bindSym"@", result) + bracket.add newLit(x) + + result = nnkCall.newTree( + nnkBracketExpr.newTree( + nnkAccQuoted.newTree( bindSym"@" ), + getTypeInst( bindSym"T" ) + ), + bracket + ) proc newLit*(arg: tuple): NimNode {.compileTime.} = result = nnkPar.newTree |