tprocgettype.nim 443 B

1234567891011121314151617181920212223242526272829
  1. discard """
  2. nimout: '''
  3. var x: proc () {.cdecl.} = foo
  4. var x: iterator (): int {.closure.} = bar
  5. '''
  6. """
  7. # issue #19010
  8. import macros
  9. macro createVar(x: typed): untyped =
  10. result = nnkVarSection.newTree:
  11. newIdentDefs(ident"x", getTypeInst(x), copy(x))
  12. echo repr result
  13. block:
  14. proc foo() {.cdecl.} = discard
  15. createVar(foo)
  16. x()
  17. block:
  18. iterator bar(): int {.closure.} = discard
  19. createVar(bar)
  20. for a in x(): discard