diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2021-02-13 16:36:40 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-13 16:36:40 +0900 |
| commit | 4cb381037e0f0dad2e0915e6f9ce60a5ff0cf48d (patch) | |
| tree | 66dbdfe1525b8a30f0275ce1a111fc49a9bbd905 /library/alloc/src/vec | |
| parent | 21cbbdc44de84e3ea99bca239091e5d1c49af654 (diff) | |
| parent | 0488afd9677ee987d3c80c18639105ea26dd6f40 (diff) | |
| download | rust-4cb381037e0f0dad2e0915e6f9ce60a5ff0cf48d.tar.gz rust-4cb381037e0f0dad2e0915e6f9ce60a5ff0cf48d.zip | |
Rollup merge of #81811 - schteve:fix_vec_retain_doc_test, r=m-ou-se
Fix doc test for Vec::retain(), now passes clippy::eval_order_dependence Doc test for Vec::retain() works correctly but is flagged by clippy::eval_order_dependence. Fix avoids the issue by using an iterator instead of an index.
Diffstat (limited to 'library/alloc/src/vec')
| -rw-r--r-- | library/alloc/src/vec/mod.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/library/alloc/src/vec/mod.rs b/library/alloc/src/vec/mod.rs index b40c1a8c57a..b6166617789 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")] |
