summary refs log tree commit diff
path: root/library/alloc/src
diff options
context:
space:
mode:
authorJanik Rabe <info@janikrabe.com>2021-07-01 22:15:13 +0100
committerJanik Rabe <info@janikrabe.com>2021-07-01 22:15:13 +0100
commit2dd69aaafc64fe9dce74088b5371a6cfb032e01e (patch)
tree90447f6f75aafbd36b09c7b01371788c83bb6fc4 /library/alloc/src
parent64de4979e8979836e7c029d69eb96e6f7da66185 (diff)
downloadrust-2dd69aaafc64fe9dce74088b5371a6cfb032e01e.tar.gz
rust-2dd69aaafc64fe9dce74088b5371a6cfb032e01e.zip
Document iteration order of `retain` functions
For `HashSet` and `HashMap`, this simply copies the comment from
`BinaryHeap::retain`.

For `BTreeSet` and `BTreeMap`, this adds an additional guarantee that
wasn't previously documented. I think that because these data structures
are inherently ordered and other functions guarantee ordered iteration,
it makes sense to provide this guarantee for `retain` as well.
Diffstat (limited to 'library/alloc/src')
-rw-r--r--library/alloc/src/collections/btree/map.rs1
-rw-r--r--library/alloc/src/collections/btree/set.rs1
2 files changed, 2 insertions, 0 deletions
diff --git a/library/alloc/src/collections/btree/map.rs b/library/alloc/src/collections/btree/map.rs
index d7519c6d093..70eae641928 100644
--- a/library/alloc/src/collections/btree/map.rs
+++ b/library/alloc/src/collections/btree/map.rs
@@ -936,6 +936,7 @@ impl<K, V> BTreeMap<K, V> {
     /// Retains only the elements specified by the predicate.
     ///
     /// In other words, remove all pairs `(k, v)` such that `f(&k, &mut v)` returns `false`.
+    /// The elements are visited in ascending key order.
     ///
     /// # Examples
     ///
diff --git a/library/alloc/src/collections/btree/set.rs b/library/alloc/src/collections/btree/set.rs
index 737932d931c..9f4296e26b8 100644
--- a/library/alloc/src/collections/btree/set.rs
+++ b/library/alloc/src/collections/btree/set.rs
@@ -847,6 +847,7 @@ impl<T> BTreeSet<T> {
     /// Retains only the elements specified by the predicate.
     ///
     /// In other words, remove all elements `e` such that `f(&e)` returns `false`.
+    /// The elements are visited in ascending order.
     ///
     /// # Examples
     ///