From 17f4d27f1285a76961b2e3957dc192de8e4f179f Mon Sep 17 00:00:00 2001
From: Jeremy Kolb <kjeremy@gmail.com>
Date: Sun, 19 Jul 2020 14:26:24 -0400
Subject: [PATCH] Minor perf tweaks per clippy

---
 crates/ra_assists/src/handlers/raw_string.rs                  | 2 +-
 .../src/handlers/replace_qualified_name_with_use.rs           | 2 +-
 crates/ra_hir_ty/src/lower.rs                                 | 2 +-
 crates/ra_ide/src/completion/completion_context.rs            | 4 ++--
 crates/ra_ide/src/diagnostics.rs                              | 2 +-
 crates/ra_ide/src/inlay_hints.rs                              | 2 +-
 crates/rust-analyzer/src/reload.rs                            | 2 +-
 7 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/crates/ra_assists/src/handlers/raw_string.rs b/crates/ra_assists/src/handlers/raw_string.rs
index ba1dcb61012..4e8a0c2db65 100644
--- a/crates/ra_assists/src/handlers/raw_string.rs
+++ b/crates/ra_assists/src/handlers/raw_string.rs
@@ -131,7 +131,7 @@ pub(crate) fn remove_hash(acc: &mut Assists, ctx: &AssistContext) -> Option<()>
     let token = ctx.find_token_at_offset(RAW_STRING).and_then(ast::RawString::cast)?;
 
     let text = token.text().as_str();
-    if !text.starts_with("r#") && text.ends_with("#") {
+    if !text.starts_with("r#") && text.ends_with('#') {
         return None;
     }
 
diff --git a/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs b/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs
index dfd314abf4b..3d51faa5430 100644
--- a/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs
+++ b/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs
@@ -106,7 +106,7 @@ fn maybe_replace_path(
     path: ast::Path,
     target: ast::Path,
 ) -> Option<()> {
-    if !path_eq(path.clone(), target.clone()) {
+    if !path_eq(path.clone(), target) {
         return None;
     }
 
diff --git a/crates/ra_hir_ty/src/lower.rs b/crates/ra_hir_ty/src/lower.rs
index f274579ea86..1eacc6f95ed 100644
--- a/crates/ra_hir_ty/src/lower.rs
+++ b/crates/ra_hir_ty/src/lower.rs
@@ -341,7 +341,7 @@ impl Ty {
                     let segment = remaining_segments.first().unwrap();
                     let found = associated_type_by_name_including_super_traits(
                         ctx.db,
-                        trait_ref.clone(),
+                        trait_ref,
                         &segment.name,
                     );
                     match found {
diff --git a/crates/ra_ide/src/completion/completion_context.rs b/crates/ra_ide/src/completion/completion_context.rs
index 9e82d685415..c84d43d7733 100644
--- a/crates/ra_ide/src/completion/completion_context.rs
+++ b/crates/ra_ide/src/completion/completion_context.rs
@@ -215,7 +215,7 @@ impl<'a> CompletionContext<'a> {
 
     fn fill_keyword_patterns(&mut self, file_with_fake_ident: &SyntaxNode, offset: TextSize) {
         let fake_ident_token = file_with_fake_ident.token_at_offset(offset).right_biased().unwrap();
-        let syntax_element = NodeOrToken::Token(fake_ident_token.clone());
+        let syntax_element = NodeOrToken::Token(fake_ident_token);
         self.block_expr_parent = has_block_expr_parent(syntax_element.clone());
         self.unsafe_is_prev = unsafe_is_prev(syntax_element.clone());
         self.if_is_prev = if_is_prev(syntax_element.clone());
@@ -228,7 +228,7 @@ impl<'a> CompletionContext<'a> {
         self.trait_as_prev_sibling = has_trait_as_prev_sibling(syntax_element.clone());
         self.is_match_arm = is_match_arm(syntax_element.clone());
         self.has_item_list_or_source_file_parent =
-            has_item_list_or_source_file_parent(syntax_element.clone());
+            has_item_list_or_source_file_parent(syntax_element);
     }
 
     fn fill(
diff --git a/crates/ra_ide/src/diagnostics.rs b/crates/ra_ide/src/diagnostics.rs
index fe75f4b2c4d..e029af0dc9c 100644
--- a/crates/ra_ide/src/diagnostics.rs
+++ b/crates/ra_ide/src/diagnostics.rs
@@ -183,7 +183,7 @@ fn missing_struct_field_fix(
     }
     new_field = format!("\n{}{}", indent, new_field);
 
-    let needs_comma = !last_field_syntax.to_string().ends_with(",");
+    let needs_comma = !last_field_syntax.to_string().ends_with(',');
     if needs_comma {
         new_field = format!(",{}", new_field);
     }
diff --git a/crates/ra_ide/src/inlay_hints.rs b/crates/ra_ide/src/inlay_hints.rs
index 43a5e29b5d8..09883ab4de1 100644
--- a/crates/ra_ide/src/inlay_hints.rs
+++ b/crates/ra_ide/src/inlay_hints.rs
@@ -171,7 +171,7 @@ fn get_param_name_hints(
         .map(|(param_name, arg)| InlayHint {
             range: arg.syntax().text_range(),
             kind: InlayKind::ParameterHint,
-            label: param_name.to_string().into(),
+            label: param_name.into(),
         });
 
     acc.extend(hints);
diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs
index 3f4dbdd8c3a..d7ae00b073b 100644
--- a/crates/rust-analyzer/src/reload.rs
+++ b/crates/rust-analyzer/src/reload.rs
@@ -242,7 +242,7 @@ impl GlobalState {
             })
             .map(move |cargo| {
                 let cargo_project_root = cargo.workspace_root().to_path_buf();
-                FlycheckHandle::spawn(sender, config.clone(), cargo_project_root.into())
+                FlycheckHandle::spawn(sender, config, cargo_project_root.into())
             })
     }
 }