diff options
author | Araq <rumpf_a@web.de> | 2014-12-13 13:10:50 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-12-13 13:10:50 +0100 |
commit | e0f109d373107f696df0fdf105fd96aca7127410 (patch) | |
tree | a2bd2a06030ae0903d2748e2b5a14aabde9ff08d | |
parent | 9e88cf8ac99cf691af45e7b6a8b51405934e14e1 (diff) | |
download | Nim-e0f109d373107f696df0fdf105fd96aca7127410.tar.gz |
fixes a tuple lowering bug
-rw-r--r-- | compiler/lowerings.nim | 7 |
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) |