about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbluthej <joffrey.bluthe@e.email>2023-03-18 14:45:57 +0100
committerbluthej <joffrey.bluthe@e.email>2023-03-22 11:01:57 +0100
commit589d7e1ab40af9950d33715ef6cf866efa04f9a2 (patch)
treeaf5b875525a8ea9b6ab42175998469aacac167f9
parent85d428101dc757f7aa41e47696c94683d8398903 (diff)
downloadrust-589d7e1ab40af9950d33715ef6cf866efa04f9a2.tar.gz
rust-589d7e1ab40af9950d33715ef6cf866efa04f9a2.zip
Add tests to cover all cases
-rw-r--r--tests/ui/clear_with_drain.rs30
1 files changed, 23 insertions, 7 deletions
diff --git a/tests/ui/clear_with_drain.rs b/tests/ui/clear_with_drain.rs
index bb3a371cc08..3f8517011cd 100644
--- a/tests/ui/clear_with_drain.rs
+++ b/tests/ui/clear_with_drain.rs
@@ -1,12 +1,28 @@
 #![allow(unused)]
 #![warn(clippy::clear_with_drain)]
 
-fn main() {
-    let mut vec: Vec<i32> = Vec::new();
-    //Lint
-    vec.drain(..);
-    vec.drain(0..vec.len());
+fn range() {
+    let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
+    let iter = u.drain(0..u.len()); // Yay
+    v.drain(0..v.len()); // Nay
+}
+
+fn range_from() {
+    let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
+    let iter = u.drain(0..); // Yay
+    v.drain(0..); // Nay
+}
 
-    // Dont Lint
-    let iter = vec.drain(..);
+fn range_full() {
+    let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
+    let iter = u.drain(..); // Yay
+    v.drain(..); // Nay
 }
+
+fn range_to() {
+    let (mut u, mut v) = (vec![1, 2, 3], vec![1, 2, 3]);
+    let iter = u.drain(..u.len()); // Yay
+    v.drain(..v.len()); // Nay
+}
+
+fn main() {}