From 287dff200d46302b17c3cecdc5f05321366dbc89 Mon Sep 17 00:00:00 2001 From: Antonis Date: Mon, 11 May 2020 14:51:50 +0300 Subject: [PATCH] fix closure env check (cherry picked from commit 3616b0698baf230fec7a60cd90c72b979e582179) --- compiler/injectdestructors.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/injectdestructors.nim b/compiler/injectdestructors.nim index 1f9fefcc43..4750c01998 100644 --- a/compiler/injectdestructors.nim +++ b/compiler/injectdestructors.nim @@ -382,7 +382,8 @@ proc sinkParamIsLastReadCheck(c: var Con, s: PNode) = localError(c.graph.config, c.otherRead.info, "sink parameter `" & $s.sym.name.s & "` is already consumed at " & toFileLineCol(c. graph.config, s.info)) -proc isClosureEnv(n: PNode): bool = n.kind == nkSym and n.sym.name.s[0] == ':' +proc isClosureEnv(n: PNode): bool = + n.kind == nkDotExpr and n[0].kind == nkHiddenDeref and n[0][0].typ.kind == tyRef proc passCopyToSink(n: PNode; c: var Con): PNode = result = newNodeIT(nkStmtListExpr, n.info, n.typ)