Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You're thinking of data races, but, (safe) Rust doesn't have data races. You can't write them.

In C++ if you write a data race, that's Undefined Behaviour, game over. This difference might be astonishing, but it's a fundamental design choice.

The data race requires two things to coincide and in (safe) Rust they can't. You need mutation of a value which isn't synchronised with access to that value. In concurrent C or C++ it's trivial to do this by mistake, you now have a data race and so UB. But you can't write this in safe Rust.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: