diff --git a/datastore/sharedds.nim b/datastore/sharedds.nim index b720be7..573e7e3 100644 --- a/datastore/sharedds.nim +++ b/datastore/sharedds.nim @@ -75,14 +75,14 @@ method close*( # TODO: how to handle failed close? return success() -func newSharedDataStore*( +proc newSharedDataStore*( # T: typedesc[SharedDatastore], backend: ThreadBackend, ): ?!SharedDatastore = var self = SharedDatastore() - res = newThreadResult(ThreadDatastore) + res = newThreadResult(ThreadDatastorePtr) res[].signal = newSignal() res.createThreadDatastore(backend) diff --git a/datastore/threadbackend.nim b/datastore/threadbackend.nim index fcc1677..f9438a0 100644 --- a/datastore/threadbackend.nim +++ b/datastore/threadbackend.nim @@ -51,7 +51,7 @@ type ThreadDatastorePtr* = SharedPtr[ThreadDatastore] -proc newThreadResult*[T](tp: typedesc[TResult[T]]): TResult[T] = +proc newThreadResult*[T](tp: typedesc[T]): UniquePtr[ThreadResult[T]] = newUniquePtr(ThreadResult[T]) proc startupDatastore(