diff options
Diffstat (limited to 'tests/parallel/tflowvar.nim')
-rw-r--r-- | tests/parallel/tflowvar.nim | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/parallel/tflowvar.nim b/tests/parallel/tflowvar.nim new file mode 100644 index 000000000..e44b29a87 --- /dev/null +++ b/tests/parallel/tflowvar.nim @@ -0,0 +1,38 @@ +discard """ + matrix: "--mm:refc" + output: '''foobarfoobar +bazbearbazbear + +1''' + cmd: "nim $target --threads:on $options $file" + disabled: "openbsd" +""" + +import threadpool + +proc computeSomething(a, b: string): string = a & b & a & b & "\n" + +proc main = + let fvA = spawn computeSomething("foo", "bar") + let fvB = spawn computeSomething("baz", "bear") + + echo(^fvA, ^fvB) + +main() +sync() + + +type + TIntSeq = seq[int] + +proc t(): TIntSeq = + result = @[1] + +proc p(): int = + var a: FlowVar[TIntSeq] + parallel: + var aa = spawn t() + a = aa + result = (^a)[0] + +echo p() |