diff options
-rw-r--r-- | compiler/injectdestructors.nim | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/injectdestructors.nim b/compiler/injectdestructors.nim index 431f9539f..44409c760 100644 --- a/compiler/injectdestructors.nim +++ b/compiler/injectdestructors.nim @@ -26,7 +26,7 @@ import strutils, options, dfa, lowerings, tables, modulegraphs, msgs, lineinfos, parampatterns, sighashes, liftdestructors -from trees import exprStructuralEquivalent +from trees import exprStructuralEquivalent, getRoot from algorithm import reverse const @@ -383,8 +383,8 @@ proc sinkParamIsLastReadCheck(c: var Con, s: PNode) = "` is already consumed at " & toFileLineCol(c. graph.config, s.info)) proc isCapturedVar(n: PNode): bool = - n.kind == nkDotExpr and n[0].kind == nkHiddenDeref and - n[0][0].kind == nkSym and n[0][0].sym.name.s[0] == ':' + let root = getRoot(n) + if root != nil: result = root.name.s[0] == ':' proc passCopyToSink(n: PNode; c: var Con): PNode = result = newNodeIT(nkStmtListExpr, n.info, n.typ) |