summary refs log tree commit diff stats
path: root/lib/core
diff options
context:
space:
mode:
authorArne Döring <arne.doering@gmx.net>2019-06-19 20:14:54 +0200
committerAndreas Rumpf <rumpf_a@web.de>2019-06-19 20:14:54 +0200
commit1a074fffa421b6cab0357e86d1011cc39eafcc61 (patch)
tree18d3b67e26bff2fb913284106b14a4cc96272d49 /lib/core
parentab36ffbeb1bcb0154fa077a5616a3f5466dd5e37 (diff)
downloadNim-1a074fffa421b6cab0357e86d1011cc39eafcc61.tar.gz
change newLit on Seq (#11542)
Diffstat (limited to 'lib/core')
-rw-r--r--lib/core/macros.nim14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/core/macros.nim b/lib/core/macros.nim
index e8a156572..0e66aad03 100644
--- a/lib/core/macros.nim
+++ b/lib/core/macros.nim
@@ -748,17 +748,17 @@ proc newLit*[N,T](arg: array[N,T]): NimNode {.compileTime.} =
     result.add newLit(x)
 
 proc newLit*[T](arg: seq[T]): NimNode {.compileTime.} =
-  var bracket = nnkBracket.newTree
+  let bracket = nnkBracket.newTree
   for x in arg:
     bracket.add newLit(x)
-
-  result = nnkCall.newTree(
-    nnkBracketExpr.newTree(
-      nnkAccQuoted.newTree( bindSym"@" ),
-      getTypeInst( bindSym"T" )
-    ),
+  result = nnkPrefix.newTree(
+    bindSym"@",
     bracket
   )
+  if arg.len == 0:
+    # add type cast for empty seq
+    var typ = getTypeInst(typeof(arg))[1]
+    result = newCall(typ,result)
 
 proc newLit*[T](s: set[T]): NimNode {.compileTime.} =
   result = nnkCurly.newTree