I am trying to learn about macros and get the incredibly vague error
Error: request to generate code for .compileTime proc: newProc
when trying to compile:
discard newProc(name=newIdentNode("test"),
params=[
newIdentNode("int"),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("int")
)
],
body=nnkStmtList.newTree(
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("x"),
newLit(2)
)
)
)
attempting to generate this proc:
proc test(x: int): int =
x + 2
Any ideas?
import macros
macro gen() =
newProc(name=newIdentNode("test"),
params=[
newIdentNode("int"),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("int"),
newNimNode(nnkEmpty)
)
],
body=nnkStmtList.newTree(
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("x"),
newLit(2)
)
)
)
gen
echo test 44