From 09ea8f9cf8ee796bdd5f8a803d30216e7aefa6ba Mon Sep 17 00:00:00 2001 From: b3liever <43617260+b3liever@users.noreply.github.com> Date: Tue, 12 May 2020 21:09:56 +0300 Subject: fix detecting closure env for nested asts (#14326) Co-authored-by: b3liever --- compiler/injectdestructors.nim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'compiler') 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) -- cgit 1.4.1-2-gfad0