Hacker News new | ask | show | jobs
by roca 1790 days ago
No, Go is not memory safe for concurrent code.

Race detection is good but can't eliminate races altogether.

1 comments

Same applies to Rust as well actually.

Its type system only prevents data races for in-memory data structures, on the same OS process.

There are plenty of other concurrency races.

It's true that there are "higher level" races that Rust can't prevent. But in-memory races are particularly important to prevent, because a) they're a common and very nasty kind of bug and b) it means unlike Go, Rust (the safe subset) is memory safe (and in general, free of undefined behaviour) for concurrent code.