diff --git a/compiler/destroyer.nim b/compiler/destroyer.nim index f97c448619..d87e648dbb 100644 --- a/compiler/destroyer.nim +++ b/compiler/destroyer.nim @@ -251,8 +251,7 @@ proc p(n: PNode; c: var Con): PNode = result = copyNode(n) recurse(n, result) of nkAsgn, nkFastAsgn: - # XXX if special, call special operator - if n[0].kind == nkSym and interestingSym(n[0].sym): + if hasDestructor(n[0].typ): result = moveOrCopy(n[0], n[1], c) else: result = copyNode(n)