summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/nimrod.nimrod.cfg1
-rw-r--r--compiler/sigmatch.nim2
-rw-r--r--compiler/transf.nim1
3 files changed, 4 insertions, 0 deletions
diff --git a/compiler/nimrod.nimrod.cfg b/compiler/nimrod.nimrod.cfg
index cc27d9f36..2c6e6f249 100644
--- a/compiler/nimrod.nimrod.cfg
+++ b/compiler/nimrod.nimrod.cfg
@@ -20,3 +20,4 @@ import:testability
 define:useStdoutAsStdmsg
 
 cs:partial
+#define:useNodeIds
diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim
index b9fb0c957..b83c27d22 100644
--- a/compiler/sigmatch.nim
+++ b/compiler/sigmatch.nim
@@ -668,6 +668,8 @@ proc typeRel(c: var TCandidate, f, aOrig: PType, doBind = true): TTypeRelation =
         result = isNone
     else: discard
   of tyOpenArray, tyVarargs:
+    # varargs[expr] is special
+    if f.kind == tyVarargs and f.sons[0].kind == tyExpr: return
     case a.kind
     of tyOpenArray, tyVarargs:
       result = typeRel(c, base(f), base(a))
diff --git a/compiler/transf.nim b/compiler/transf.nim
index 7922acbe9..fb5e321b6 100644
--- a/compiler/transf.nim
+++ b/compiler/transf.nim
@@ -166,6 +166,7 @@ proc transformVarSection(c: PTransf, v: PNode): PTransNode =
         idNodeTablePut(c.transCon.mapping, it.sons[j].sym, newSymNode(newVar))
         defs[j] = newSymNode(newVar).PTransNode
       assert(it.sons[L-2].kind == nkEmpty)
+      defs[L-2] = ast.emptyNode.PTransNode
       defs[L-1] = transform(c, it.sons[L-1])
       result[i] = defs