Skip to content

Commit 1fc3ab4

Browse files
committed
extract_if's sample equivalent now really equivalent. Simpler predicate.
1 parent ab62d56 commit 1fc3ab4

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

library/alloc/src/vec/mod.rs

+7-5
Original file line numberDiff line numberDiff line change
@@ -3667,20 +3667,22 @@ impl<T, A: Allocator> Vec<T, A> {
36673667
///
36683668
/// ```
36693669
/// # use std::cmp::min;
3670-
/// # let some_predicate = |x: &mut i32| { *x == 2 || *x == 3 || *x == 6 };
3671-
/// # let mut vec = vec![1, 2, 3, 4, 5, 6];
3672-
/// # let range = 1..4;
3670+
/// # let some_predicate = |x: &mut i32| { *x % 2 == 1 };
3671+
/// # let mut vec = vec![0, 1, 2, 3, 4, 5, 6];
3672+
/// # let range = 1..5;
36733673
/// let mut i = range.start;
3674-
/// while i < min(vec.len(), range.end) {
3674+
/// let mut end = range.end;
3675+
/// while i < min(vec.len(), end) {
36753676
/// if some_predicate(&mut vec[i]) {
36763677
/// let val = vec.remove(i);
3678+
/// end -= 1;
36773679
/// // your code here
36783680
/// } else {
36793681
/// i += 1;
36803682
/// }
36813683
/// }
36823684
///
3683-
/// # assert_eq!(vec, vec![1, 4, 5]);
3685+
/// # assert_eq!(vec, vec![0, 2, 4, 5, 6]);
36843686
/// ```
36853687
///
36863688
/// But `extract_if` is easier to use. `extract_if` is also more efficient,

0 commit comments

Comments
 (0)