about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCameron Steffen <cam.steffen94@gmail.com>2021-05-17 15:40:34 -0500
committerCameron Steffen <cam.steffen94@gmail.com>2021-05-24 09:48:05 -0500
commit0ebd5018bf1e0de83f9c1cbe97d00e219d269e85 (patch)
tree2e1d3bfc0545a4e84ec6ddcb4b99235dd29bfa92
parent24743b39683ef1f69e3156c312ab12d9265ca7bb (diff)
downloadrust-0ebd5018bf1e0de83f9c1cbe97d00e219d269e85.tar.gz
rust-0ebd5018bf1e0de83f9c1cbe97d00e219d269e85.zip
Add a short-circuiting case
-rw-r--r--clippy_utils/src/lib.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/clippy_utils/src/lib.rs b/clippy_utils/src/lib.rs
index 18b7e6cd4bc..39fd324408a 100644
--- a/clippy_utils/src/lib.rs
+++ b/clippy_utils/src/lib.rs
@@ -1572,8 +1572,10 @@ where
     Hash: Fn(&T) -> u64,
     Eq: Fn(&T, &T) -> bool,
 {
-    if exprs.len() == 2 && eq(&exprs[0], &exprs[1]) {
-        return vec![(&exprs[0], &exprs[1])];
+    match exprs {
+        [a, b] if eq(a, b) => return vec![(a, b)],
+        _ if exprs.len() <= 2 => return vec![],
+        _ => {},
     }
 
     let mut match_expr_list: Vec<(&T, &T)> = Vec::new();