From 4729c7db6eb813684d6d13696b8016369cc77147 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Wed, 21 Feb 2024 22:57:43 -0700 Subject: [PATCH] more examples --- tests/exampleGcFailures/exFailureSeq.nim | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/exampleGcFailures/exFailureSeq.nim b/tests/exampleGcFailures/exFailureSeq.nim index 4afb79e..6aa08c9 100644 --- a/tests/exampleGcFailures/exFailureSeq.nim +++ b/tests/exampleGcFailures/exFailureSeq.nim @@ -17,19 +17,19 @@ import taskpools ## type - Seq*[T] = object + SeqDataPtr*[T] = object data*: ptr UncheckedArray[T] size*: int -template toOpenArray*[T](arr: Seq[T]): auto = +template toOpenArray*[T](arr: SeqDataPtr[T]): auto = system.toOpenArray(arr.data, 0, arr.size) -proc toArrayHolder*[T](data: seq[T]): Seq[T] = - Seq[T]( +proc toArrayHolder*[T](data: seq[T]): SeqDataPtr[T] = + SeqDataPtr[T]( data: cast[ptr UncheckedArray[T]](unsafeAddr(data[0])), size: data.len() ) -proc worker(data: Seq[char], sig: ThreadSignalPtr) = +proc worker(data: SeqDataPtr[char], sig: ThreadSignalPtr) = os.sleep(300) echo "running worker: " echo "worker: ", data.toOpenArray() @@ -39,7 +39,7 @@ proc worker(data: Seq[char], sig: ThreadSignalPtr) = proc runTest(tp: TaskPool, sig: ThreadSignalPtr) {.async.} = ## init - var obj = "hello world!".toSeq() + var obj = "hello world!".toSeqDataPtr() echo "spawn worker" tp.spawn worker(obj.toArrayHolder(), sig)