summary refs log tree commit diff stats
path: root/tests/procvar/tprocvar2.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/procvar/tprocvar2.nim')
-rw-r--r--tests/procvar/tprocvar2.nim32
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

+

+
+