diff --git a/src/syndicate/actors.nim b/src/syndicate/actors.nim index 8cb7b45..8fcfb48 100644 --- a/src/syndicate/actors.nim +++ b/src/syndicate/actors.nim @@ -291,6 +291,12 @@ proc replace*[T](turn: var Turn; `ref`: Ref; h: Handle; v: T): Handle = result = publish(turn, `ref`, v) retract(turn, h) +proc replace*[T](turn: var Turn; `ref`: Ref; h: var Handle; v: T): Handle {.discardable.} = + var old = h + h = publish(turn, `ref`, v) + retract(turn, old) + h + proc stop*(turn: var Turn) {.gcsafe.} proc run*(facet; action: TurnAction; zombieTurn = false) {.gcsafe.} diff --git a/syndicate.nimble b/syndicate.nimble index 6d28222..af03d9f 100644 --- a/syndicate.nimble +++ b/syndicate.nimble @@ -1,6 +1,6 @@ # Package -version = "1.3.0" +version = "1.3.1" author = "Emery Hemingway" description = "Syndicated actors for conversational concurrency" license = "Unlicense"