about summary refs log tree commit diff
path: root/library/alloc/src
diff options
context:
space:
mode:
authorMario Carneiro <di.gama@gmail.com>2021-10-07 03:33:00 -0700
committerGitHub <noreply@github.com>2021-10-07 03:33:00 -0700
commit3eb87dbe2ddd99c5334d5282e6a4d3de6d9fa6c0 (patch)
treeb5e965669bb24450b6a0a4ccda088f2e91a9529e /library/alloc/src
parentca8078d7b2e40c24a39e5fe2a910afef4c91ebfc (diff)
downloadrust-3eb87dbe2ddd99c5334d5282e6a4d3de6d9fa6c0.tar.gz
rust-3eb87dbe2ddd99c5334d5282e6a4d3de6d9fa6c0.zip
doc: guarantee call order for sort_by_cached_key
`slice::sort_by_cached_key` takes a caching function
`f: impl FnMut(&T) -> K`, which means that the order that calls to the
caching function are made is user-visible. This adds a clause to the
documentation to promise the current behavior, which is that `f` is
called on all elements of the slice from left to right, unless the slice
has len < 2 in which case `f` is not called.
Diffstat (limited to 'library/alloc/src')
-rw-r--r--library/alloc/src/slice.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/library/alloc/src/slice.rs b/library/alloc/src/slice.rs
index 4c8ea6902ff..58c35dfa361 100644
--- a/library/alloc/src/slice.rs
+++ b/library/alloc/src/slice.rs
@@ -374,7 +374,8 @@ impl<T> [T] {
     /// During sorting, the key function is called only once per element.
     ///
     /// This sort is stable (i.e., does not reorder equal elements) and *O*(*m* \* *n* + *n* \* log(*n*))
-    /// worst-case, where the key function is *O*(*m*).
+    /// worst-case, where the key function is *O*(*m*). If the slice requires sorting,
+    /// the key function is called on all elements of the slice in the original order.
     ///
     /// For simple key functions (e.g., functions that are property accesses or
     /// basic operations), [`sort_by_key`](slice::sort_by_key) is likely to be