You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Minor but for sanity, I could not help to notice that {.gcsafe.} is everywhere basically in the code base.
Iirc there was a bug long time ago with methods spitting lot of warnings maybe which I actually reported but it was fixed I think.
I did not try yet but the notation is literally "asking for troubles" usually, also I see no threading (spawn etc) so it's probably really unnecessary and should be removed.
Anything I am missing?
The text was updated successfully, but these errors were encountered:
we compile everything on the assumption that we'll be flipping threads on as soon as is feasible - trust is low though currently, that threads in nim actually work (it's not turned on by default so stuff like the gc rarely gets stressed, so we would only do so when we have bandwidth to deal with the fallout)
OK I see, but well, in my experience with nim threads (as they were few months ago) any time I forced gcsafe (which btw likely needs {.gcsafe.}: block also, not just proc tag) things went wrong, as expected, due to the gc being the gc and me passing references mistakenly cos I turned off thread analysis with gcsafe.
It is true that with ARC things might be better but I doubt cos heap allocators also are generally per-thread so extra care needs to be taken.
Anyway fine for me so closing this as it's not really an issue for now.
Minor but for sanity, I could not help to notice that
{.gcsafe.}
is everywhere basically in the code base.Iirc there was a bug long time ago with methods spitting lot of warnings maybe which I actually reported but it was fixed I think.
I did not try yet but the notation is literally "asking for troubles" usually, also I see no threading (spawn etc) so it's probably really unnecessary and should be removed.
Anything I am missing?
The text was updated successfully, but these errors were encountered: