How to do it correctly and, probably, elegantly? (sorry, but constructions like [this](https://forum.nim-lang.org/t/1572/2#9868) looks a bit mad for this easy task I tried something like a: import os, threadpool type MyObj = object flag: bool proc subThr(pObj: ptr MyObj) {.gcsafe.} = pObj.flag = true var pShr = cast[ptr MyObj](allocShared0(sizeof(MyObj))) var o: MyObj = pShr[] o.flag = false spawn subThr(pShr) sleep 100 echo o.flag
But it's don't write data by pointer. Maybe somebody have ideas?