summary refs log tree commit diff stats
path: root/lib/core
diff options
context:
space:
mode:
authorArne Döring <arne.doering@gmx.net>2017-07-13 17:07:33 +0200
committerAndreas Rumpf <rumpf_a@web.de>2017-07-13 17:07:33 +0200
commit52cab78ae57b5a36c7e05c41fa23a55b8302b2ee (patch)
tree5c0a4de9aff2febf92b06e033ef78f9503dac558 /lib/core
parent03e0aa37e3d41c77475a2484e9a3d084e26bd8bf (diff)
downloadNim-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.nim13
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