diff --git a/compiler/injectdestructors.nim b/compiler/injectdestructors.nim index d9a17cf7a2..f66986777f 100644 --- a/compiler/injectdestructors.nim +++ b/compiler/injectdestructors.nim @@ -612,11 +612,8 @@ proc p(n: PNode; c: var Con; mode: ProcessMode): PNode = proc moveOrCopy(dest, ri: PNode; c: var Con): PNode = case ri.kind of nkCallKinds: - if isUnpackedTuple(dest): - result = newTree(nkFastAsgn, dest, p(ri, c, consumed)) - else: - result = genSink(c, dest, ri) - result.add p(ri, c, consumed) + result = genSink(c, dest, ri) + result.add p(ri, c, consumed) of nkBracketExpr: if isUnpackedTuple(ri[0]): # unpacking of tuple: take over elements diff --git a/tests/destructor/t12037.nim b/tests/destructor/t12037.nim index 1a7d536cc6..4b17fe6d06 100644 --- a/tests/destructor/t12037.nim +++ b/tests/destructor/t12037.nim @@ -32,3 +32,4 @@ proc bug(start: (seq[int], int)) = let input = @[0] bug((input, 0)) +doASsert(input.len == 1)