I need to pass around some data between Nim and C, and this `someCAllocFunction` returns a void pointer. I tried casting it to a `ptr MyType` and setting its value using `point[] = MyType()` (in reality I'm using an object with some fields, and the object is initialized in a separate function). But then, in a callback I passed to C, I'm trying to access my data again, but a `SIGSEGV` is raised. instance of TestAutowrenType Traceback (most recent call last) autowren.nim(143) autowren autowren.nim(136) w_data= autowren.nim(130) data= gc.nim(289) unsureAsgnRef gc.nim(185) decRef SIGSEGV: Illegal storage access. (Attempt to read from nil?) Run
Here's the source code of my program: [https://github.com/liquid600pgm/rapid/blob/master/src/scripting/autowren.nim](https://github.com/liquid600pgm/rapid/blob/master/src/scripting/autowren.nim) I understood this as the GC removing my object while it's passed around in C code, and that's why I wanted to mark it as referenced.