diff options
-rw-r--r-- | compiler/lowerings.nim | 1 | ||||
-rw-r--r-- | tests/destructor/tmisc_destructors.nim | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/compiler/lowerings.nim b/compiler/lowerings.nim index 0922ab088..96afc4828 100644 --- a/compiler/lowerings.nim +++ b/compiler/lowerings.nim @@ -60,6 +60,7 @@ proc lowerTupleUnpacking*(g: ModuleGraph; n: PNode; owner: PSym): PNode = var temp = newSym(skTemp, getIdent(g.cache, genPrefix), owner, value.info, g.config.options) temp.typ = skipTypes(value.typ, abstractInst) incl(temp.flags, sfFromGeneric) + incl(temp.flags, sfCursor) var v = newNodeI(nkVarSection, value.info) let tempAsNode = newSymNode(temp) diff --git a/tests/destructor/tmisc_destructors.nim b/tests/destructor/tmisc_destructors.nim index 354938392..fdcea074b 100644 --- a/tests/destructor/tmisc_destructors.nim +++ b/tests/destructor/tmisc_destructors.nim @@ -28,7 +28,7 @@ proc test(): auto = var (a, b, _) = test() doAssert assign_counter == 0 -doAssert sink_counter == 12 # + 3 because of the conservative tuple unpacking transformation +doAssert sink_counter == 9 # XXX this is still silly and needs to be investigated # bug #11510 proc main = |