make sink operator optional (#13068)
* make sink operator optional * bug fix, add changelog entry * Trigger build * fix one regression * fix test * Trigger build * fix typos
This commit is contained in:
parent
7626907401
commit
f51613e262
6 changed files with 56 additions and 62 deletions
|
|
@ -20,12 +20,6 @@ proc `=`*[T](dest: var SharedPtr[T], src: SharedPtr[T]) {.inline.} =
|
|||
discard atomicInc(src.val[].atomicCounter)
|
||||
dest.val = src.val
|
||||
|
||||
proc `=sink`*[T](dest: var SharedPtr[T], src: SharedPtr[T]) {.inline.} =
|
||||
if dest.val != src.val:
|
||||
if dest.val != nil:
|
||||
`=destroy`(dest)
|
||||
dest.val = src.val
|
||||
|
||||
proc newSharedPtr*[T](val: sink T): SharedPtr[T] =
|
||||
result.val = cast[type(result.val)](allocShared0(sizeof(result.val[])))
|
||||
result.val.atomicCounter = 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue