3 ms·
You can make a fully safe segfault the same way you can in go. Swapping a base reference between two child types. The data pointer and vft pointer aren't update
by galangalalgol 10mo ago
You can make a fully safe segfault the same way you can in go. Swapping a base reference between two child types. The data pointer and vft pointer aren't updated atomically, so a thread safety issue becomes a memory safety one.
- saagarjha 10mo agoThis is no longer allowed with strict concurrency
- galangalalgol 10mo agoWhen did that happen? Or is it something I have to turn on? I had Claude write a swift version of the go version a few months ago and it segfaulted. Edit: Ah, the global variable I used had a warning that it isn't concurrency safe I didn't notice. So you can compile it, but if you treat warnings as errors you'd be fine.