Merge pull request #322 from mandeep/data-race-correction

Corrected run-on sentence in data race definition
This commit is contained in:
Carol (Nichols || Goulding) 2016-11-09 15:17:56 -05:00 committed by GitHub
commit 64c3a8b30c

View File

@ -155,13 +155,17 @@ error[E0499]: cannot borrow `s` as mutable more than once at a time
This restriction allows for mutation but in a very controlled fashion. It is
something that new Rustaceans struggle with, because most languages let you
mutate whenever youd like. The benefit of having this restriction is that Rust
can prevent data races at compile time. A *data race* is a particular type of
race condition where two or more pointers access the same data at the same
time, at least one of the pointers is being used to write to the data, and
theres no mechanism being used to synchronize access to the data. Data races
cause undefined behavior and can be difficult to diagnose and fix when trying
to track them down at runtime; Rust prevents this problem from happening since
it wont even compile code with data races!
can prevent data races at compile time.
A *data race* is a particular type of race condition where these three things occur:
- two or more pointers access the same data at the same time
- at least one of the pointers is being used to write to the data
- theres no mechanism being used to synchronize access to the data
Data races cause undefined behavior and can be difficult to diagnose and fix
when trying to track them down at runtime; Rust prevents this problem from
happening since it wont even compile code with data races!
As always, we can use `{}`s to create a new scope, allowing for multiple mutable
references, just not *simultaneous* ones: