We don't really want to have a Nim dialect per --gc option so the frontend checking is not aware of `--gc:boehm`. You can `cast` GC safety into existance though and be as dirty as Boehm allows for.
Sketch: type EnforcedGcSafe = proc() {.gcsafe.} proc myproc = discard "... access shared heap here..." spawn cast[EnforcedGcSafe](myproc)