summary refs log tree commit diff stats
path: root/tests/run
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run')
-rw-r--r--tests/run/tclosure3.nim6
-rw-r--r--tests/run/teventemitter.nim10
2 files changed, 9 insertions, 7 deletions
diff --git a/tests/run/tclosure3.nim b/tests/run/tclosure3.nim
index b2748035b..bb217387f 100644
--- a/tests/run/tclosure3.nim
+++ b/tests/run/tclosure3.nim
@@ -6,13 +6,13 @@ discard """
 proc main =
   const n = 30
   for iterations in 0..50_000:
-    var s: seq[proc(): int {.closure.}] = @[]
+    var s: seq[proc(): string {.closure.}] = @[]
     for i in 0 .. n-1:
       let ii = i
-      s.add(proc(): int = return ii*ii)
+      s.add(proc(): string = return $(ii*ii))
     for i in 0 .. n-1:
       let val = s[i]()
-      if val != i*i: echo "bug  ", val
+      if val != $(i*i): echo "bug  ", val
     
     if getOccupiedMem() > 3000_000: quit("still a leak!")
   echo "success"
diff --git a/tests/run/teventemitter.nim b/tests/run/teventemitter.nim
index 8394776a8..9ecf72ea2 100644
--- a/tests/run/teventemitter.nim
+++ b/tests/run/teventemitter.nim
@@ -7,20 +7,22 @@ import tables, lists
 type
   TEventArgs = object of TObject
   TEventEmitter = object of TObject
-    events*: TTable[string, TDoublyLinkedList[proc(e: TEventArgs)]]
+    events*: TTable[string, TDoublyLinkedList[proc(e: TEventArgs) {.nimcall.}]]
 
 proc emit*(emitter: TEventEmitter, event: string, args: TEventArgs) =
   for func in nodes(emitter.events[event]):
     func.value(args) #call function with args.
 
-proc on*(emitter: var TEventEmitter, event: string, func: proc(e: TEventArgs)) =
+proc on*(emitter: var TEventEmitter, event: string, 
+         func: proc(e: TEventArgs) {.nimcall.}) =
   if not hasKey(emitter.events, event):
-    var list: TDoublyLinkedList[proc(e: TEventArgs)]
+    var list: TDoublyLinkedList[proc(e: TEventArgs) {.nimcall.}]
     add(emitter.events, event, list) #if not, add it.
   append(emitter.events.mget(event), func)
 
 proc initEmitter(emitter: var TEventEmitter) =
-  emitter.events = initTable[string, TDoublyLinkedList[proc(e: TEventArgs)]]()
+  emitter.events = initTable[string, 
+    TDoublyLinkedList[proc(e: TEventArgs) {.nimcall.}]]()
 
 var 
   ee: TEventEmitter