Skip to content

Commit 701068d

Browse files
committed
Verify we are not in a macro attempt 2
1 parent 0faa294 commit 701068d

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

crates/ide-diagnostics/src/handlers/unused_variables.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,13 @@ pub(crate) fn unused_variables(
2525
}
2626
let diagnostic_range = ctx.sema.diagnostics_display_range(ast);
2727
// The range for the Actual Name. We don't want to replace the entire declarition. Using the diagnostic range causes issues within in Array Destructuring.
28-
let name_range =
29-
d.local.primary_source(ctx.sema.db).name().map(|v| v.syntax().value.text_range())?;
30-
// Make sure we are within the diagnostic range for the variable
31-
if !diagnostic_range.range.contains_range(name_range) {
28+
let name_range = d
29+
.local
30+
.primary_source(ctx.sema.db)
31+
.name()
32+
.map(|v| v.syntax().original_file_range_rooted(ctx.sema.db))
33+
.filter(|it| Some(it.file_id) == ast.file_id.file_id())?;
34+
if !diagnostic_range.range.contains_range(name_range.range) {
3235
return None;
3336
}
3437
let var_name = d.local.name(ctx.sema.db);
@@ -42,7 +45,7 @@ pub(crate) fn unused_variables(
4245
.with_fixes(fixes(
4346
ctx.sema.db,
4447
var_name,
45-
name_range,
48+
name_range.range,
4649
diagnostic_range,
4750
ast.file_id.is_macro(),
4851
))

0 commit comments

Comments
 (0)