From bb6b27ad1de9629a27ec851ae12b43fc8995a993 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Mon, 28 Oct 2024 02:12:15 -0700 Subject: [PATCH] =?UTF-8?q?races:=20Clarify=20a=20=E2=80=9Cmostly=E2=80=9D?= =?UTF-8?q?=20that=20might=20be=20misread?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One might carelessly misread a sentence that begins “data races are *mostly* prevented” as suggesting that Rust fails to prevent some data races. Clarify the intended reading. Signed-off-by: Anders Kaseorg --- src/races.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/races.md b/src/races.md index d5f1ea0..aaeaf5b 100644 --- a/src/races.md +++ b/src/races.md @@ -7,7 +7,7 @@ Safe Rust guarantees an absence of data races, which are defined as: * one or more of them is unsynchronized A data race has Undefined Behavior, and is therefore impossible to perform in -Safe Rust. Data races are *mostly* prevented through Rust's ownership system: +Safe Rust. Data races are prevented *mostly* through Rust's ownership system alone: it's impossible to alias a mutable reference, so it's impossible to perform a data race. Interior mutability makes this more complicated, which is largely why we have the Send and Sync traits (see the next section for more on this).