about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJason Newcomb <jsnewcomb@pm.me>2024-06-12 12:59:55 -0400
committerJason Newcomb <jsnewcomb@pm.me>2024-07-07 16:27:27 -0400
commitf493d71a38f9737e512b133598bcb78981619f58 (patch)
tree0e55cb37fb61c5054296bdfdf5948262257f9bdf
parentc73aceb0435ca35e47d0d8361ce49a74ff3ec70b (diff)
downloadrust-f493d71a38f9737e512b133598bcb78981619f58.tar.gz
rust-f493d71a38f9737e512b133598bcb78981619f58.zip
`infinite_iter`: Only lock the symbol table once.
-rw-r--r--clippy_lints/src/infinite_iter.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/clippy_lints/src/infinite_iter.rs b/clippy_lints/src/infinite_iter.rs
index 9ad02735878..fa7e7f6b76d 100644
--- a/clippy_lints/src/infinite_iter.rs
+++ b/clippy_lints/src/infinite_iter.rs
@@ -226,13 +226,14 @@ const INFINITE_COLLECTORS: &[Symbol] = &[
 fn complete_infinite_iter(cx: &LateContext<'_>, expr: &Expr<'_>) -> Finiteness {
     match expr.kind {
         ExprKind::MethodCall(method, receiver, args, _) => {
+            let method_str = method.ident.name.as_str();
             for &(name, len) in &COMPLETING_METHODS {
-                if method.ident.name.as_str() == name && args.len() == len {
+                if method_str == name && args.len() == len {
                     return is_infinite(cx, receiver);
                 }
             }
             for &(name, len) in &POSSIBLY_COMPLETING_METHODS {
-                if method.ident.name.as_str() == name && args.len() == len {
+                if method_str == name && args.len() == len {
                     return MaybeInfinite.and(is_infinite(cx, receiver));
                 }
             }