diff options
Diffstat (limited to 'tests/procvar/tprocvar2.nim')
-rw-r--r-- | tests/procvar/tprocvar2.nim | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/procvar/tprocvar2.nim b/tests/procvar/tprocvar2.nim new file mode 100644 index 000000000..237e2ef7a --- /dev/null +++ b/tests/procvar/tprocvar2.nim @@ -0,0 +1,32 @@ +discard """ + file: "tprocvar.nim" + output: "papbpcpdpe7" +""" +# test variables of type proc + +proc pa() {.cdecl.} = write(stdout, "pa") +proc pb() {.cdecl.} = write(stdout, "pb") +proc pc() {.cdecl.} = write(stdout, "pc") +proc pd() {.cdecl.} = write(stdout, "pd") +proc pe() {.cdecl.} = write(stdout, "pe") + +const + algos = [pa, pb, pc, pd, pe] + +var + x: proc (a, b: int): int {.cdecl.} + +proc ha(c, d: int): int {.cdecl.} = + echo(c + d) + result = c + d + +for a in items(algos): + a() + +x = ha +discard x(3, 4) + +#OUT papbpcpdpe7 + + + |