-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Labels
enhancementNew feature or requestNew feature or request
Description
The move to inherited objects has made it impossible to properly fork continuations. This is what I did before:
proc fork(c: C): C {.cpsMagic.} =
let c2 = C()
c2[] = c[]
c.evq.push c2
c
This doesn't work because c2 will now be of the C root type, losing all memory of the original type and its data.
Workaround is using deepCopy(), but that'll not work on the JS backend and is disabled by default for --gc:arc
I guess there is no alternative standard way to do this?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request