summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/manual_retain.fixed
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:44 +0000
commitc23a457e72abe608715ac76f076f47dc42af07a5 (patch)
tree2772049aaf84b5c9d0ed12ec8d86812f7a7904b6 /src/tools/clippy/tests/ui/manual_retain.fixed
parentReleasing progress-linux version 1.73.0+dfsg1-1~progress7.99u1. (diff)
downloadrustc-c23a457e72abe608715ac76f076f47dc42af07a5.tar.xz
rustc-c23a457e72abe608715ac76f076f47dc42af07a5.zip
Merging upstream version 1.74.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/clippy/tests/ui/manual_retain.fixed')
-rw-r--r--src/tools/clippy/tests/ui/manual_retain.fixed40
1 files changed, 27 insertions, 13 deletions
diff --git a/src/tools/clippy/tests/ui/manual_retain.fixed b/src/tools/clippy/tests/ui/manual_retain.fixed
index c95d40fec..4dea3e8bf 100644
--- a/src/tools/clippy/tests/ui/manual_retain.fixed
+++ b/src/tools/clippy/tests/ui/manual_retain.fixed
@@ -1,4 +1,3 @@
-//@run-rustfix
#![warn(clippy::manual_retain)]
#![allow(unused, clippy::redundant_clone)]
use std::collections::{BTreeMap, BTreeSet, BinaryHeap, HashMap, HashSet, VecDeque};
@@ -18,22 +17,31 @@ fn main() {
}
fn binary_heap_retain() {
- // NOTE: Do not lint now, because binary_heap_retain is nightly API.
- // And we need to add a test case for msrv if we update this implementation.
- // https://github.com/rust-lang/rust/issues/71503
- let mut heap = BinaryHeap::from([1, 2, 3]);
- heap = heap.into_iter().filter(|x| x % 2 == 0).collect();
- heap = heap.iter().filter(|&x| x % 2 == 0).copied().collect();
- heap = heap.iter().filter(|&x| x % 2 == 0).cloned().collect();
+ let mut binary_heap = BinaryHeap::from([1, 2, 3]);
+ // Do lint.
+ binary_heap.retain(|x| x % 2 == 0);
+ binary_heap.retain(|x| x % 2 == 0);
+ binary_heap.retain(|x| x % 2 == 0);
// Do not lint, because type conversion is performed
- heap = heap.into_iter().filter(|x| x % 2 == 0).collect::<BinaryHeap<i8>>();
- heap = heap.iter().filter(|&x| x % 2 == 0).copied().collect::<BinaryHeap<i8>>();
- heap = heap.iter().filter(|&x| x % 2 == 0).cloned().collect::<BinaryHeap<i8>>();
+ binary_heap = binary_heap
+ .into_iter()
+ .filter(|x| x % 2 == 0)
+ .collect::<BinaryHeap<i8>>();
+ binary_heap = binary_heap
+ .iter()
+ .filter(|&x| x % 2 == 0)
+ .copied()
+ .collect::<BinaryHeap<i8>>();
+ binary_heap = binary_heap
+ .iter()
+ .filter(|&x| x % 2 == 0)
+ .cloned()
+ .collect::<BinaryHeap<i8>>();
// Do not lint, because this expression is not assign.
- let mut bar: BinaryHeap<i8> = heap.iter().filter(|&x| x % 2 == 0).copied().collect();
- let mut foobar: BinaryHeap<i8> = heap.into_iter().filter(|x| x % 2 == 0).collect();
+ let mut bar: BinaryHeap<i8> = binary_heap.iter().filter(|&x| x % 2 == 0).copied().collect();
+ let mut foobar: BinaryHeap<i8> = binary_heap.into_iter().filter(|x| x % 2 == 0).collect();
// Do not lint, because it is an assignment to a different variable.
bar = foobar.iter().filter(|&x| x % 2 == 0).copied().collect();
@@ -210,6 +218,12 @@ fn vec_deque_retain() {
bar = foobar.into_iter().filter(|x| x % 2 == 0).collect();
}
+#[clippy::msrv = "1.69"]
+fn _msrv_169() {
+ let mut binary_heap = BinaryHeap::from([1, 2, 3]);
+ binary_heap = binary_heap.into_iter().filter(|x| x % 2 == 0).collect();
+}
+
#[clippy::msrv = "1.52"]
fn _msrv_153() {
let mut btree_map: BTreeMap<i8, i8> = (0..8).map(|x| (x, x * 10)).collect();