mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
Rollup merge of #85985 - Lionelf329:master, r=joshtriplett
Clarify documentation of slice sorting methods After reading about [this](https://polkadot.network/a-polkadot-postmortem-24-05-2021/), I realized that although the documentation of these methods is not ambiguous in its current state, it is very easy to read it and erroneously assume that their exact behaviour can be relied upon to be deterministic. Although the docs make no guarantees about which index is returned when there are multiple matches, being more explicit about when and how their determinism can be relied upon should help prevent people from making this mistake in the future. r? ``@steveklabnik``
This commit is contained in:
commit
2a23af6341
@ -2100,9 +2100,11 @@ impl<T> [T] {
|
||||
///
|
||||
/// If the value is found then [`Result::Ok`] is returned, containing the
|
||||
/// index of the matching element. If there are multiple matches, then any
|
||||
/// one of the matches could be returned. If the value is not found then
|
||||
/// [`Result::Err`] is returned, containing the index where a matching
|
||||
/// element could be inserted while maintaining sorted order.
|
||||
/// one of the matches could be returned. The index is chosen
|
||||
/// deterministically, but is subject to change in future versions of Rust.
|
||||
/// If the value is not found then [`Result::Err`] is returned, containing
|
||||
/// the index where a matching element could be inserted while maintaining
|
||||
/// sorted order.
|
||||
///
|
||||
/// See also [`binary_search_by`], [`binary_search_by_key`], and [`partition_point`].
|
||||
///
|
||||
@ -2153,9 +2155,11 @@ impl<T> [T] {
|
||||
///
|
||||
/// If the value is found then [`Result::Ok`] is returned, containing the
|
||||
/// index of the matching element. If there are multiple matches, then any
|
||||
/// one of the matches could be returned. If the value is not found then
|
||||
/// [`Result::Err`] is returned, containing the index where a matching
|
||||
/// element could be inserted while maintaining sorted order.
|
||||
/// one of the matches could be returned. The index is chosen
|
||||
/// deterministically, but is subject to change in future versions of Rust.
|
||||
/// If the value is not found then [`Result::Err`] is returned, containing
|
||||
/// the index where a matching element could be inserted while maintaining
|
||||
/// sorted order.
|
||||
///
|
||||
/// See also [`binary_search`], [`binary_search_by_key`], and [`partition_point`].
|
||||
///
|
||||
@ -2224,9 +2228,11 @@ impl<T> [T] {
|
||||
///
|
||||
/// If the value is found then [`Result::Ok`] is returned, containing the
|
||||
/// index of the matching element. If there are multiple matches, then any
|
||||
/// one of the matches could be returned. If the value is not found then
|
||||
/// [`Result::Err`] is returned, containing the index where a matching
|
||||
/// element could be inserted while maintaining sorted order.
|
||||
/// one of the matches could be returned. The index is chosen
|
||||
/// deterministically, but is subject to change in future versions of Rust.
|
||||
/// If the value is not found then [`Result::Err`] is returned, containing
|
||||
/// the index where a matching element could be inserted while maintaining
|
||||
/// sorted order.
|
||||
///
|
||||
/// See also [`binary_search`], [`binary_search_by`], and [`partition_point`].
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user