Convert collapsed to shortcut reference links

This commit is contained in:
Matthew Kraai 2019-12-26 05:27:55 -08:00
parent c0b16b4e6a
commit 2f43313834
7 changed files with 30 additions and 30 deletions

View File

@ -4951,10 +4951,10 @@ Stabilized APIs
--------------- ---------------
* [`std::panic`] * [`std::panic`]
* [`std::panic::catch_unwind`][] (renamed from `recover`) * [`std::panic::catch_unwind`] (renamed from `recover`)
* [`std::panic::resume_unwind`][] (renamed from `propagate`) * [`std::panic::resume_unwind`] (renamed from `propagate`)
* [`std::panic::AssertUnwindSafe`][] (renamed from `AssertRecoverSafe`) * [`std::panic::AssertUnwindSafe`] (renamed from `AssertRecoverSafe`)
* [`std::panic::UnwindSafe`][] (renamed from `RecoverSafe`) * [`std::panic::UnwindSafe`] (renamed from `RecoverSafe`)
* [`str::is_char_boundary`] * [`str::is_char_boundary`]
* [`<*const T>::as_ref`] * [`<*const T>::as_ref`]
* [`<*mut T>::as_ref`] * [`<*mut T>::as_ref`]
@ -5234,18 +5234,18 @@ Libraries
--------- ---------
* Stabilized APIs: * Stabilized APIs:
* [`str::encode_utf16`][] (renamed from `utf16_units`) * [`str::encode_utf16`] (renamed from `utf16_units`)
* [`str::EncodeUtf16`][] (renamed from `Utf16Units`) * [`str::EncodeUtf16`] (renamed from `Utf16Units`)
* [`Ref::map`] * [`Ref::map`]
* [`RefMut::map`] * [`RefMut::map`]
* [`ptr::drop_in_place`] * [`ptr::drop_in_place`]
* [`time::Instant`] * [`time::Instant`]
* [`time::SystemTime`] * [`time::SystemTime`]
* [`Instant::now`] * [`Instant::now`]
* [`Instant::duration_since`][] (renamed from `duration_from_earlier`) * [`Instant::duration_since`] (renamed from `duration_from_earlier`)
* [`Instant::elapsed`] * [`Instant::elapsed`]
* [`SystemTime::now`] * [`SystemTime::now`]
* [`SystemTime::duration_since`][] (renamed from `duration_from_earlier`) * [`SystemTime::duration_since`] (renamed from `duration_from_earlier`)
* [`SystemTime::elapsed`] * [`SystemTime::elapsed`]
* Various `Add`/`Sub` impls for `Time` and `SystemTime` * Various `Add`/`Sub` impls for `Time` and `SystemTime`
* [`SystemTimeError`] * [`SystemTimeError`]
@ -5432,8 +5432,8 @@ Libraries
* Stabilized APIs * Stabilized APIs
* `Path` * `Path`
* [`Path::strip_prefix`][] (renamed from relative_from) * [`Path::strip_prefix`] (renamed from relative_from)
* [`path::StripPrefixError`][] (new error type returned from strip_prefix) * [`path::StripPrefixError`] (new error type returned from strip_prefix)
* `Ipv4Addr` * `Ipv4Addr`
* [`Ipv4Addr::is_loopback`] * [`Ipv4Addr::is_loopback`]
* [`Ipv4Addr::is_private`] * [`Ipv4Addr::is_private`]
@ -5646,7 +5646,7 @@ Libraries
* Stabilized APIs: * Stabilized APIs:
[`Read::read_exact`], [`Read::read_exact`],
[`ErrorKind::UnexpectedEof`][] (renamed from `UnexpectedEOF`), [`ErrorKind::UnexpectedEof`] (renamed from `UnexpectedEOF`),
[`fs::DirBuilder`], [`fs::DirBuilder::new`], [`fs::DirBuilder`], [`fs::DirBuilder::new`],
[`fs::DirBuilder::recursive`], [`fs::DirBuilder::create`], [`fs::DirBuilder::recursive`], [`fs::DirBuilder::create`],
[`os::unix::fs::DirBuilderExt`], [`os::unix::fs::DirBuilderExt`],
@ -5659,11 +5659,11 @@ Libraries
[`collections::hash_set::HashSet::drain`], [`collections::hash_set::HashSet::drain`],
[`collections::binary_heap::Drain`], [`collections::binary_heap::Drain`],
[`collections::binary_heap::BinaryHeap::drain`], [`collections::binary_heap::BinaryHeap::drain`],
[`Vec::extend_from_slice`][] (renamed from `push_all`), [`Vec::extend_from_slice`] (renamed from `push_all`),
[`Mutex::get_mut`], [`Mutex::into_inner`], [`RwLock::get_mut`], [`Mutex::get_mut`], [`Mutex::into_inner`], [`RwLock::get_mut`],
[`RwLock::into_inner`], [`RwLock::into_inner`],
[`Iterator::min_by_key`][] (renamed from `min_by`), [`Iterator::min_by_key`] (renamed from `min_by`),
[`Iterator::max_by_key`][] (renamed from `max_by`). [`Iterator::max_by_key`] (renamed from `max_by`).
* The [core library][1.6co] is stable, as are most of its APIs. * The [core library][1.6co] is stable, as are most of its APIs.
* [The `assert_eq!` macro supports arguments that don't implement * [The `assert_eq!` macro supports arguments that don't implement
`Sized`][1.6ae], such as arrays. In this way it behaves more like `Sized`][1.6ae], such as arrays. In this way it behaves more like

View File

@ -142,7 +142,7 @@ pub trait Unsize<T: ?Sized> {
/// In either of the two scenarios above, we reject usage of such a constant in /// In either of the two scenarios above, we reject usage of such a constant in
/// a pattern match. /// a pattern match.
/// ///
/// See also the [structural match RFC][RFC1445], and [issue 63438][] which /// See also the [structural match RFC][RFC1445], and [issue 63438] which
/// motivated migrating from attribute-based design to this trait. /// motivated migrating from attribute-based design to this trait.
/// ///
/// [RFC1445]: https://github.com/rust-lang/rfcs/blob/master/text/1445-restrict-constants-in-patterns.md /// [RFC1445]: https://github.com/rust-lang/rfcs/blob/master/text/1445-restrict-constants-in-patterns.md

View File

@ -2,12 +2,12 @@
/// ///
/// Instances of `Fn` can be called repeatedly without mutating state. /// Instances of `Fn` can be called repeatedly without mutating state.
/// ///
/// *This trait (`Fn`) is not to be confused with [function pointers][] /// *This trait (`Fn`) is not to be confused with [function pointers]
/// (`fn`).* /// (`fn`).*
/// ///
/// `Fn` is implemented automatically by closures which only take immutable /// `Fn` is implemented automatically by closures which only take immutable
/// references to captured variables or don't capture anything at all, as well /// references to captured variables or don't capture anything at all, as well
/// as (safe) [function pointers][] (with some caveats, see their documentation /// as (safe) [function pointers] (with some caveats, see their documentation
/// for more details). Additionally, for any type `F` that implements `Fn`, `&F` /// for more details). Additionally, for any type `F` that implements `Fn`, `&F`
/// implements `Fn`, too. /// implements `Fn`, too.
/// ///
@ -78,7 +78,7 @@ pub trait Fn<Args>: FnMut<Args> {
/// ///
/// `FnMut` is implemented automatically by closures which take mutable /// `FnMut` is implemented automatically by closures which take mutable
/// references to captured variables, as well as all types that implement /// references to captured variables, as well as all types that implement
/// [`Fn`], e.g., (safe) [function pointers][] (since `FnMut` is a supertrait of /// [`Fn`], e.g., (safe) [function pointers] (since `FnMut` is a supertrait of
/// [`Fn`]). Additionally, for any type `F` that implements `FnMut`, `&mut F` /// [`Fn`]). Additionally, for any type `F` that implements `FnMut`, `&mut F`
/// implements `FnMut`, too. /// implements `FnMut`, too.
/// ///
@ -162,7 +162,7 @@ pub trait FnMut<Args>: FnOnce<Args> {
/// ///
/// `FnOnce` is implemented automatically by closure that might consume captured /// `FnOnce` is implemented automatically by closure that might consume captured
/// variables, as well as all types that implement [`FnMut`], e.g., (safe) /// variables, as well as all types that implement [`FnMut`], e.g., (safe)
/// [function pointers][] (since `FnOnce` is a supertrait of [`FnMut`]). /// [function pointers] (since `FnOnce` is a supertrait of [`FnMut`]).
/// ///
/// Since both [`Fn`] and [`FnMut`] are subtraits of `FnOnce`, any instance of /// Since both [`Fn`] and [`FnMut`] are subtraits of `FnOnce`, any instance of
/// [`Fn`] or [`FnMut`] can be used where a `FnOnce` is expected. /// [`Fn`] or [`FnMut`] can be used where a `FnOnce` is expected.

View File

@ -101,14 +101,14 @@ pub enum ControlFlow<T> {
pub enum NodeStatus { pub enum NodeStatus {
/// This node has been examined by the depth-first search but is not yet `Settled`. /// This node has been examined by the depth-first search but is not yet `Settled`.
/// ///
/// Also referred to as "gray" or "discovered" nodes in [CLR][]. /// Also referred to as "gray" or "discovered" nodes in [CLR].
/// ///
/// [CLR]: https://en.wikipedia.org/wiki/Introduction_to_Algorithms /// [CLR]: https://en.wikipedia.org/wiki/Introduction_to_Algorithms
Visited, Visited,
/// This node and all nodes reachable from it have been examined by the depth-first search. /// This node and all nodes reachable from it have been examined by the depth-first search.
/// ///
/// Also referred to as "black" or "finished" nodes in [CLR][]. /// Also referred to as "black" or "finished" nodes in [CLR].
/// ///
/// [CLR]: https://en.wikipedia.org/wiki/Introduction_to_Algorithms /// [CLR]: https://en.wikipedia.org/wiki/Introduction_to_Algorithms
Settled, Settled,
@ -122,13 +122,13 @@ struct Event<N> {
/// A depth-first search that also tracks when all successors of a node have been examined. /// A depth-first search that also tracks when all successors of a node have been examined.
/// ///
/// This is based on the DFS described in [Introduction to Algorithms (1st ed.)][CLR], hereby /// This is based on the DFS described in [Introduction to Algorithms (1st ed.)][CLR], hereby
/// referred to as **CLR**. However, we use the terminology in [`NodeStatus`][] above instead of /// referred to as **CLR**. However, we use the terminology in [`NodeStatus`] above instead of
/// "discovered"/"finished" or "white"/"grey"/"black". Each node begins the search with no status, /// "discovered"/"finished" or "white"/"grey"/"black". Each node begins the search with no status,
/// becomes `Visited` when it is first examined by the DFS and is `Settled` when all nodes /// becomes `Visited` when it is first examined by the DFS and is `Settled` when all nodes
/// reachable from it have been examined. This allows us to differentiate between "tree", "back" /// reachable from it have been examined. This allows us to differentiate between "tree", "back"
/// and "forward" edges (see [`TriColorVisitor::node_examined`]). /// and "forward" edges (see [`TriColorVisitor::node_examined`]).
/// ///
/// Unlike the pseudocode in [CLR][], this implementation is iterative and does not use timestamps. /// Unlike the pseudocode in [CLR], this implementation is iterative and does not use timestamps.
/// We accomplish this by storing `Event`s on the stack that result in a (possible) state change /// We accomplish this by storing `Event`s on the stack that result in a (possible) state change
/// for each node. A `Visited` event signifies that we should examine this node if it has not yet /// for each node. A `Visited` event signifies that we should examine this node if it has not yet
/// been `Visited` or `Settled`. When a node is examined for the first time, we mark it as /// been `Visited` or `Settled`. When a node is examined for the first time, we mark it as
@ -246,7 +246,7 @@ where
/// By checking the value of `prior_status`, this visitor can determine whether the edge /// By checking the value of `prior_status`, this visitor can determine whether the edge
/// leading to this node was a tree edge (`None`), forward edge (`Some(Settled)`) or back edge /// leading to this node was a tree edge (`None`), forward edge (`Some(Settled)`) or back edge
/// (`Some(Visited)`). For a full explanation of each edge type, see the "Depth-first Search" /// (`Some(Visited)`). For a full explanation of each edge type, see the "Depth-first Search"
/// chapter in [CLR][] or [wikipedia][]. /// chapter in [CLR] or [wikipedia].
/// ///
/// If you want to know *both* nodes linked by each edge, you'll need to modify /// If you want to know *both* nodes linked by each edge, you'll need to modify
/// `TriColorDepthFirstSearch` to store a `source` node for each `Visited` event. /// `TriColorDepthFirstSearch` to store a `source` node for each `Visited` event.

View File

@ -10,7 +10,7 @@
//! interface, but make `Engine` and `ResultsCursor` the canonical way to perform and inspect a //! interface, but make `Engine` and `ResultsCursor` the canonical way to perform and inspect a
//! dataflow analysis. This requires porting the graphviz debugging logic to this module, deciding //! dataflow analysis. This requires porting the graphviz debugging logic to this module, deciding
//! on a way to handle the `before` methods in `BitDenotation` and creating an adapter so that //! on a way to handle the `before` methods in `BitDenotation` and creating an adapter so that
//! gen-kill problems can still be evaluated efficiently. See the discussion in [#64566][] for more //! gen-kill problems can still be evaluated efficiently. See the discussion in [#64566] for more
//! information. //! information.
//! //!
//! [gk]: https://en.wikipedia.org/wiki/Data-flow_analysis#Bit_vector_problems //! [gk]: https://en.wikipedia.org/wiki/Data-flow_analysis#Bit_vector_problems

View File

@ -286,7 +286,7 @@ mod sync;
mod cache_aligned; mod cache_aligned;
/// The receiving half of Rust's [`channel`][] (or [`sync_channel`]) type. /// The receiving half of Rust's [`channel`] (or [`sync_channel`]) type.
/// This half can only be owned by one thread. /// This half can only be owned by one thread.
/// ///
/// Messages sent to the channel can be retrieved using [`recv`]. /// Messages sent to the channel can be retrieved using [`recv`].
@ -1108,7 +1108,7 @@ impl<T> Receiver<T> {
/// ///
/// This function will always block the current thread if there is no data /// This function will always block the current thread if there is no data
/// available and it's possible for more data to be sent. Once a message is /// available and it's possible for more data to be sent. Once a message is
/// sent to the corresponding [`Sender`][] (or [`SyncSender`]), then this /// sent to the corresponding [`Sender`] (or [`SyncSender`]), then this
/// receiver will wake up and return that message. /// receiver will wake up and return that message.
/// ///
/// If the corresponding [`Sender`] has disconnected, or it disconnects while /// If the corresponding [`Sender`] has disconnected, or it disconnects while
@ -1194,7 +1194,7 @@ impl<T> Receiver<T> {
/// ///
/// This function will always block the current thread if there is no data /// This function will always block the current thread if there is no data
/// available and it's possible for more data to be sent. Once a message is /// available and it's possible for more data to be sent. Once a message is
/// sent to the corresponding [`Sender`][] (or [`SyncSender`]), then this /// sent to the corresponding [`Sender`] (or [`SyncSender`]), then this
/// receiver will wake up and return that message. /// receiver will wake up and return that message.
/// ///
/// If the corresponding [`Sender`] has disconnected, or it disconnects while /// If the corresponding [`Sender`] has disconnected, or it disconnects while
@ -1295,7 +1295,7 @@ impl<T> Receiver<T> {
/// ///
/// This function will always block the current thread if there is no data /// This function will always block the current thread if there is no data
/// available and it's possible for more data to be sent. Once a message is /// available and it's possible for more data to be sent. Once a message is
/// sent to the corresponding [`Sender`][] (or [`SyncSender`]), then this /// sent to the corresponding [`Sender`] (or [`SyncSender`]), then this
/// receiver will wake up and return that message. /// receiver will wake up and return that message.
/// ///
/// If the corresponding [`Sender`] has disconnected, or it disconnects while /// If the corresponding [`Sender`] has disconnected, or it disconnects while

View File

@ -25,7 +25,7 @@ use crate::sys_common::rwlock as sys;
/// The type parameter `T` represents the data that this lock protects. It is /// The type parameter `T` represents the data that this lock protects. It is
/// required that `T` satisfies [`Send`] to be shared across threads and /// required that `T` satisfies [`Send`] to be shared across threads and
/// [`Sync`] to allow concurrent access through readers. The RAII guards /// [`Sync`] to allow concurrent access through readers. The RAII guards
/// returned from the locking methods implement [`Deref`][] (and [`DerefMut`] /// returned from the locking methods implement [`Deref`] (and [`DerefMut`]
/// for the `write` methods) to allow access to the content of the lock. /// for the `write` methods) to allow access to the content of the lock.
/// ///
/// # Poisoning /// # Poisoning