fixes #10689
This commit is contained in:
parent
289b5e9ef9
commit
322ce1872f
2 changed files with 22 additions and 1 deletions
|
|
@ -796,7 +796,11 @@ proc p(n: PNode; c: var Con): PNode =
|
|||
result = n
|
||||
of nkAsgn, nkFastAsgn:
|
||||
if hasDestructor(n[0].typ) and n[1].kind notin {nkProcDef, nkDo, nkLambda}:
|
||||
result = moveOrCopy(n[0], n[1], c)
|
||||
# rule (self-assignment-removal):
|
||||
if n[1].kind == nkSym and n[0].kind == nkSym and n[0].sym == n[1].sym:
|
||||
result = newNodeI(nkEmpty, n.info)
|
||||
else:
|
||||
result = moveOrCopy(n[0], n[1], c)
|
||||
else:
|
||||
result = copyNode(n)
|
||||
recurse(n, result)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue