mirror of https://github.com/rust-lang/rust.git
Rollup merge of #44773 - GuillaumeGomez:arc-docs, r=@QuietMisdreavus
Add missing links for Arc r? @rust-lang/docs
This commit is contained in:
commit
e168896fdd
|
@ -72,13 +72,13 @@ const MAX_REFCOUNT: usize = (isize::MAX) as usize;
|
||||||
/// first: after all, isn't the point of `Arc<T>` thread safety? The key is
|
/// first: after all, isn't the point of `Arc<T>` thread safety? The key is
|
||||||
/// this: `Arc<T>` makes it thread safe to have multiple ownership of the same
|
/// this: `Arc<T>` makes it thread safe to have multiple ownership of the same
|
||||||
/// data, but it doesn't add thread safety to its data. Consider
|
/// data, but it doesn't add thread safety to its data. Consider
|
||||||
/// `Arc<RefCell<T>>`. `RefCell<T>` isn't [`Sync`], and if `Arc<T>` was always
|
/// `Arc<`[`RefCell<T>`]`>`. [`RefCell<T>`] isn't [`Sync`], and if `Arc<T>` was always
|
||||||
/// [`Send`], `Arc<RefCell<T>>` would be as well. But then we'd have a problem:
|
/// [`Send`], `Arc<`[`RefCell<T>`]`>` would be as well. But then we'd have a problem:
|
||||||
/// `RefCell<T>` is not thread safe; it keeps track of the borrowing count using
|
/// [`RefCell<T>`] is not thread safe; it keeps track of the borrowing count using
|
||||||
/// non-atomic operations.
|
/// non-atomic operations.
|
||||||
///
|
///
|
||||||
/// In the end, this means that you may need to pair `Arc<T>` with some sort of
|
/// In the end, this means that you may need to pair `Arc<T>` with some sort of
|
||||||
/// `std::sync` type, usually `Mutex<T>`.
|
/// [`std::sync`] type, usually [`Mutex<T>`][mutex].
|
||||||
///
|
///
|
||||||
/// ## Breaking cycles with `Weak`
|
/// ## Breaking cycles with `Weak`
|
||||||
///
|
///
|
||||||
|
@ -106,7 +106,7 @@ const MAX_REFCOUNT: usize = (isize::MAX) as usize;
|
||||||
/// // a and b both point to the same memory location as foo.
|
/// // a and b both point to the same memory location as foo.
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// The `Arc::clone(&from)` syntax is the most idiomatic because it conveys more explicitly
|
/// The [`Arc::clone(&from)`] syntax is the most idiomatic because it conveys more explicitly
|
||||||
/// the meaning of the code. In the example above, this syntax makes it easier to see that
|
/// the meaning of the code. In the example above, this syntax makes it easier to see that
|
||||||
/// this code is creating a new reference rather than copying the whole content of foo.
|
/// this code is creating a new reference rather than copying the whole content of foo.
|
||||||
///
|
///
|
||||||
|
@ -141,6 +141,9 @@ const MAX_REFCOUNT: usize = (isize::MAX) as usize;
|
||||||
/// [upgrade]: struct.Weak.html#method.upgrade
|
/// [upgrade]: struct.Weak.html#method.upgrade
|
||||||
/// [`None`]: ../../std/option/enum.Option.html#variant.None
|
/// [`None`]: ../../std/option/enum.Option.html#variant.None
|
||||||
/// [assoc]: ../../book/first-edition/method-syntax.html#associated-functions
|
/// [assoc]: ../../book/first-edition/method-syntax.html#associated-functions
|
||||||
|
/// [`RefCell<T>`]: ../../std/cell/struct.RefCell.html
|
||||||
|
/// [`std::sync`]: ../../std/sync/index.html
|
||||||
|
/// [`Arc::clone(&from)`]: #method.clone
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
|
Loading…
Reference in New Issue