mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-15 16:13:45 +00:00
fixes #24641; quote do captures no variables under current macros
This commit is contained in:
@@ -2447,7 +2447,11 @@ proc semQuoteAst(c: PContext, n: PNode): PNode =
|
||||
dummyTemplate[paramsPos].add newTreeI(nkIdentDefs, n.info, ids[i], newNodeIT(nkType, n.info, typ), c.graph.emptyNode)
|
||||
else:
|
||||
dummyTemplate[paramsPos].add newTreeI(nkIdentDefs, n.info, ids[i], getSysSym(c.graph, n.info, "typed").newSymNode, c.graph.emptyNode)
|
||||
# don't allow templates to capture variables in macors without backticks
|
||||
let oldScope = c.currentScope
|
||||
c.currentScope = c.topLevelScope
|
||||
var tmpl = semTemplateDef(c, dummyTemplate)
|
||||
c.currentScope = oldScope
|
||||
quotes[0] = tmpl[namePos]
|
||||
# This adds a call to newIdentNode("result") as the first argument to the template call
|
||||
let identNodeSym = getCompilerProc(c.graph, "newIdentNode")
|
||||
|
||||
Reference in New Issue
Block a user