From 95436893061176d51b1c11fdf5418b3ed17a8455 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Sun, 24 Jun 2018 18:27:40 +0200 Subject: Make `static` blocks introduce their own scope Treat the static block as a normal block, don't leak any identifier in the outer scope. Fixes #5958 --- compiler/semstmts.nim | 2 ++ 1 file changed, 2 insertions(+) (limited to 'compiler') diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim index 292238dc9..fe4318de5 100644 --- a/compiler/semstmts.nim +++ b/compiler/semstmts.nim @@ -1772,7 +1772,9 @@ proc semStaticStmt(c: PContext, n: PNode): PNode = #echo "semStaticStmt" #writeStackTrace() inc c.inStaticContext + openScope(c) let a = semStmt(c, n.sons[0]) + closeScope(c) dec c.inStaticContext n.sons[0] = a evalStaticStmt(c.module, c.graph, a, c.p.owner) -- cgit 1.4.1-2-gfad0