HATEBIN
>
/tmp/test.nim(9, 7) Hint: expanded macro: block: let task = type ScratchObj_486539566 = object i: int let scratch_486539562 = cast[ptr ScratchObj_486539566](c_calloc(csize_t(1), csize_t(8))) if isNil(scratch_486539562): raise (ref OutOfMemDefect)(msg: "Could not allocate memory", parent: nil) block: var isoTemp_486539564 = isolate(i) scratch_486539562.i = extract(isoTemp_486539564) proc count_486539567(args`gensym22: pointer) {.gcsafe, nimcall.} = let objTemp_486539563 = cast[ptr ScratchObj_486539566](args`gensym22) let i_486539565 = objTemp_486539563.i count(i_486539565) proc destroyScratch_486539568(args`gensym22: pointer) {.gcsafe, nimcall.} = let obj_486539569 = cast[ptr ScratchObj_486539566](args`gensym22) `=destroy`(obj_486539569[]) Task(callback: count_486539567, args: scratch_486539562, destroy: destroyScratch_486539568) let taskNode = new(TaskNode, workerContext.currentTask, task)