summary refs log tree commit diff stats
path: root/tests/tprocvar.nim
blob: f51543dfa89ea9b1a5f788b1dcdfce7be7615bea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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