about summary refs log tree commit diff
path: root/library/alloc/src/vec
diff options
context:
space:
mode:
authorSteve Heindel <stevenheindel@gmail.com>2021-02-04 21:17:55 -0500
committerSteve Heindel <stevenheindel@gmail.com>2021-02-06 21:20:28 -0500
commit0488afd9677ee987d3c80c18639105ea26dd6f40 (patch)
tree256b7b59ea7bd998734f9ceb9a19577f00a7e810 /library/alloc/src/vec
parent23adf9fd843da7a3394c824b056f93151aaa40ad (diff)
downloadrust-0488afd9677ee987d3c80c18639105ea26dd6f40.tar.gz
rust-0488afd9677ee987d3c80c18639105ea26dd6f40.zip
Fix doc test for Vec::retain(), now passes clippy::eval_order_dependence
Diffstat (limited to 'library/alloc/src/vec')
-rw-r--r--library/alloc/src/vec/mod.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/library/alloc/src/vec/mod.rs b/library/alloc/src/vec/mod.rs
index ede1601fa33..e808665837b 100644
--- a/library/alloc/src/vec/mod.rs
+++ b/library/alloc/src/vec/mod.rs
@@ -1385,13 +1385,14 @@ impl<T, A: Allocator> Vec<T, A> {
     /// assert_eq!(vec, [2, 4]);
     /// ```
     ///
-    /// The exact order may be useful for tracking external state, like an index.
+    /// Because the elements are visited exactly once in the original order,
+    /// external state may be used to decide which elements to keep.
     ///
     /// ```
     /// let mut vec = vec![1, 2, 3, 4, 5];
     /// let keep = [false, true, true, false, true];
-    /// let mut i = 0;
-    /// vec.retain(|_| (keep[i], i += 1).0);
+    /// let mut iter = keep.iter();
+    /// vec.retain(|_| *iter.next().unwrap());
     /// assert_eq!(vec, [2, 3, 5]);
     /// ```
     #[stable(feature = "rust1", since = "1.0.0")]