summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-12-13 13:10:50 +0100
committerAraq <rumpf_a@web.de>2014-12-13 13:10:50 +0100
commite0f109d373107f696df0fdf105fd96aca7127410 (patch)
treea2bd2a06030ae0903d2748e2b5a14aabde9ff08d
parent9e88cf8ac99cf691af45e7b6a8b51405934e14e1 (diff)
downloadNim-e0f109d373107f696df0fdf105fd96aca7127410.tar.gz
fixes a tuple lowering bug
-rw-r--r--compiler/lowerings.nim7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/lowerings.nim b/compiler/lowerings.nim
index f9f7d6432..ef43c4d09 100644
--- a/compiler/lowerings.nim
+++ b/compiler/lowerings.nim
@@ -51,13 +51,14 @@ proc lowerTupleUnpacking*(n: PNode; owner: PSym): PNode =
   incl(temp.flags, sfFromGeneric)
 
   var v = newNodeI(nkVarSection, value.info)
-  v.addVar(newSymNode(temp))
+  let tempAsNode = newSymNode(temp)
+  v.addVar(tempAsNode)
   result.add(v)
   
-  result.add newAsgnStmt(newSymNode(temp), value)
+  result.add newAsgnStmt(tempAsNode, value)
   for i in 0 .. n.len-3:
     if n.sons[i].kind == nkSym: v.addVar(n.sons[i])
-    result.add newAsgnStmt(n.sons[i], newTupleAccess(value, i))
+    result.add newAsgnStmt(n.sons[i], newTupleAccess(tempAsNode, i))
 
 proc createObj*(owner: PSym, info: TLineInfo): PType =
   result = newType(tyObject, owner)