macro_bug.nim 397 B

123456789101112131415161718
  1. import macros
  2. macro macro_bug*(s: stmt): stmt {.immediate.} =
  3. s.expectKind({nnkProcDef, nnkMethodDef})
  4. var params = s.params
  5. let genericParams = s[2]
  6. result = newNimNode(nnkProcDef).add(
  7. s.name, s[1], genericParams, params, pragma(s), newEmptyNode())
  8. var body = body(s)
  9. # Fails here.
  10. var call = newCall("macro_bug", s.params[1][0])
  11. body.insert(0, call)
  12. result.add(body)