summary refs log tree commit diff stats
path: root/tests/compile/tthread_generic.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/compile/tthread_generic.nim')
-rw-r--r--tests/compile/tthread_generic.nim39
1 files changed, 0 insertions, 39 deletions
diff --git a/tests/compile/tthread_generic.nim b/tests/compile/tthread_generic.nim
deleted file mode 100644
index beae4b652..000000000
--- a/tests/compile/tthread_generic.nim
+++ /dev/null
@@ -1,39 +0,0 @@
-discard """
-  cmd: "nimrod cc --hints:on --threads:on $# $#"
-"""
-
-type
-  TThreadFuncArgs[T] = object of TObject
-    a: proc(): T {.thread.}
-    b: proc(val: T) {.thread.}
-
-proc handleThreadFunc(arg: TThreadFuncArgs[int]){.thread.} =
-  var func = arg.a
-  var callback = arg.b
-  var output = func()
-  callback(output)
-
-proc `@||->`*[T](func: proc(): T {.thread.}, 
-                 callback: proc(val: T){.thread.}): TThread[TThreadFuncArgs[T]] =
-  var thr: TThread[TThreadFuncArgs[T]]
-  var args: TThreadFuncArgs[T]
-  args.a = func
-  args.b = callback
-  createThread(thr, handleThreadFunc, args)
-  return thr
-
-proc `||->`*[T](func: proc(): T{.thread.}, callback: proc(val: T){.thread.}) =
-  discard func @||-> callback
-
-when isMainModule:
-  import os
-  proc testFunc(): int {.thread.} =
-    return 1
-  proc callbackFunc(val: int) {.thread.} =
-    echo($(val))
-   
-  var thr = (testFunc @||-> callbackFunc)
-  echo("test")
-  joinThread(thr)
-  os.sleep(3000)
-