import macros
    
    macro addEcho(s: untyped): stmt =
      s.body.add(newCall("echo", newStrLitNode("OK")))
      result = s
    
    proc f1() {.addEcho.} =
      let i = 1+2
      echo i
    

You have to use untyped because with stmt, Nim seems to create a symbol f1 
beforehand and then gets confused about it because you return a proc f1 again 
with the same signature. This should probably be reported as bug, because it 
should at least generate a sensible error message.

Reply via email to