I think `T1_` represents a temporary object, and `=sink` means `=`, so this
code:
N_LIB_PRIVATE N_NIMCALL(void,
reset__main_6)(tyObject_GoodboySave__V3NLTqc4Fsuvs9b4KG9a39bzg*
obj__G9bGxRHjC5xtc0ZF9cAh9cDTA) {
tyObject_GoodboySave__V3NLTqc4Fsuvs9b4KG9a39bzg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)(&T1_),
sizeof(tyObject_GoodboySave__V3NLTqc4Fsuvs9b4KG9a39bzg));
eqsink___main_20((&(*obj__G9bGxRHjC5xtc0ZF9cAh9cDTA)), (&T1_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
Run
is equivalent to:
proc reset(obj: var GoodboySave) =
obj = GoodboySave()
Run
where `GoodboySave()` is `T1_`.
To make it efficient, the implementation can be changed to
proc reset(obj: var GoodboySave) =
`=destroy`(obj)
wasMoved(obj)
Run
But I think you can just define a resetting proc that fits your case, instead
of relaying on the standard one.