Re:Tokio 1.0 – async runtime for Rust
by timClicks on Wednesday December 23, 2020 @06:18PM
(#25523413)
It's still fearless, as in you don't need to worry that you might create data races, but can be clunky to write in some cases.
[ Parent
| on HN ]
If the borrow checker has no representation of a memory model, for example relaxed/acquire/release, you can't write a concurrent queue without triple checking for statement ordering, resulting barriers and then formally verify it otherwise you are very likely to introduce data races.
Re:Tokio 1.0 – async runtime for Rust
by steveklabnik on Thursday December 24, 2020 @06:32PM
(#25532612)
The borrow checker doesn’t understand orderings, as it doesn’t specifically need to. You can get race conditions, but not data races. Yes, you need to be careful when writing this kind of code.