Make apply gcsafe
This commit is contained in:
parent
57f9984007
commit
5e2cd329f6
|
@ -1,6 +1,6 @@
|
||||||
# Package
|
# Package
|
||||||
|
|
||||||
version = "20230806"
|
version = "20230817"
|
||||||
author = "Emery Hemingway"
|
author = "Emery Hemingway"
|
||||||
description = "data model and serialization format"
|
description = "data model and serialization format"
|
||||||
license = "Unlicense"
|
license = "Unlicense"
|
||||||
|
|
|
@ -1231,7 +1231,7 @@ when isMainModule:
|
||||||
var pr = t.toPreserveHook(void)
|
var pr = t.toPreserveHook(void)
|
||||||
assert fromPreserveHook(t, pr)
|
assert fromPreserveHook(t, pr)
|
||||||
|
|
||||||
proc apply*[E](result: var Preserve[E]; op: proc(_: var Preserve[E])) =
|
proc apply*[E](result: var Preserve[E]; op: proc(_: var Preserve[E]) {.gcsafe.}) {.gcsafe.} =
|
||||||
proc recurse(result: var Preserve[E]) = apply(result, op)
|
proc recurse(result: var Preserve[E]) = apply(result, op)
|
||||||
op(result)
|
op(result)
|
||||||
case result.kind
|
case result.kind
|
||||||
|
|
Loading…
Reference in New Issue