about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates
diff options
context:
space:
mode:
authorShoyu Vanilla (Flint) <modulo641@gmail.com>2025-09-26 05:25:09 +0000
committerGitHub <noreply@github.com>2025-09-26 05:25:09 +0000
commit79b0a927b9891e246b8ddde00f54ba4d7bf20c59 (patch)
tree32e9f0d00513403dc1a2148ee1258e0ade5c0531 /src/tools/rust-analyzer/crates
parent70d56dde8fbf7a2735d58b52786d4e2c89b23684 (diff)
parenta9637efa275767c270829579f5282e5585043d19 (diff)
downloadrust-79b0a927b9891e246b8ddde00f54ba4d7bf20c59.tar.gz
rust-79b0a927b9891e246b8ddde00f54ba4d7bf20c59.zip
Merge pull request #20742 from A4-Tacks/unused-raw-var
Fix fixes for unused raw variables
Diffstat (limited to 'src/tools/rust-analyzer/crates')
-rw-r--r--src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs
index a4f3ca0a267..84e63acbc04 100644
--- a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs
+++ b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs
@@ -6,7 +6,7 @@ use ide_db::{
     label::Label,
     source_change::SourceChange,
 };
-use syntax::{AstNode, Edition, TextRange};
+use syntax::{AstNode, Edition, TextRange, ToSmolStr};
 
 use crate::{Diagnostic, DiagnosticCode, DiagnosticsContext};
 
@@ -73,7 +73,8 @@ fn fixes(
     if is_in_marco {
         return None;
     }
-    let name = var_name.display(db, edition);
+    let name = var_name.display(db, edition).to_smolstr();
+    let name = name.strip_prefix("r#").unwrap_or(&name);
     let new_name = if is_shorthand_field { format!("{name}: _{name}") } else { format!("_{name}") };
 
     Some(vec![Assist {
@@ -233,6 +234,19 @@ fn main() {
 }
 "#,
         );
+
+        check_fix(
+            r#"
+fn main() {
+    let $0r#type = 2;
+}
+"#,
+            r#"
+fn main() {
+    let _type = 2;
+}
+"#,
+        );
     }
 
     #[test]