File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change 1010
1111//! Shareable mutable containers.
1212//!
13- //! Rust memory safety is based on this rule: Given an object `T`, is only possible to
13+ //! Rust memory safety is based on this rule: Given an object `T`, it is only possible to
1414//! have one of the following:
1515//!
16- //! - Having several inmutable references (`&T`) to the object (also know as Aliasing).
16+ //! - Having several immutable references (`&T`) to the object (also know as Aliasing).
1717//! - Having one mutable reference (`&mut T`) to the object (also know as Mutability).
1818//!
1919//! This is enforced by the Rust compiler. However, there are situations where this rule is not
20- //! flexible enough. Sometimes is required to have multiple references to an object and yet
20+ //! flexible enough. Sometimes it is required to have multiple references to an object and yet
2121//! mutate it.
2222//!
23- //! Shareable mutable containers exist to permit mutability in presence of aliasing in a
23+ //! Shareable mutable containers exist to permit mutability in the presence of aliasing in a
2424//! controlled manner. Both `Cell<T>` and `RefCell<T>` allows to do this in a single threaded
2525//! way. However, neither `Cell<T>` nor `RefCell<T>` are thread safe (they do not implement
2626//! `Sync`), if you need to do Aliasing and Mutation between multiple threads is possible to use
You can’t perform that action at this time.
0 commit comments