diff options
| author | hkalbasi <hamidrezakalbasi@protonmail.com> | 2023-08-28 22:22:28 +0330 |
|---|---|---|
| committer | hkalbasi <hamidrezakalbasi@protonmail.com> | 2023-08-28 22:22:28 +0330 |
| commit | 514fefab9c3c600dea185157cd8337f3548e3684 (patch) | |
| tree | 629f7e67b60781c2d6a5e5aa21630ac88d5f8a51 | |
| parent | 144526c90840e84e799ee06c6cea5c573cf4fdf2 (diff) | |
| download | rust-514fefab9c3c600dea185157cd8337f3548e3684.tar.gz rust-514fefab9c3c600dea185157cd8337f3548e3684.zip | |
Respect `#[allow(unused_braces)]`
| -rw-r--r-- | crates/ide-diagnostics/src/handlers/mutability_errors.rs | 2 | ||||
| -rw-r--r-- | crates/ide-diagnostics/src/handlers/useless_braces.rs | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/crates/ide-diagnostics/src/handlers/mutability_errors.rs b/crates/ide-diagnostics/src/handlers/mutability_errors.rs index e0c3bedce46..8976a3de67b 100644 --- a/crates/ide-diagnostics/src/handlers/mutability_errors.rs +++ b/crates/ide-diagnostics/src/handlers/mutability_errors.rs @@ -76,7 +76,7 @@ pub(crate) fn unused_mut(ctx: &DiagnosticsContext<'_>, d: &hir::UnusedMut) -> Di "variable does not need to be mutable", ast, ) - .experimental() // Not supporting `#[allow(unused_mut)]` leads to false positive. + .experimental() // Not supporting `#[allow(unused_mut)]` in proc macros leads to false positive. .with_fixes(fixes) } diff --git a/crates/ide-diagnostics/src/handlers/useless_braces.rs b/crates/ide-diagnostics/src/handlers/useless_braces.rs index 0aa439f797a..c4ac59ec2a4 100644 --- a/crates/ide-diagnostics/src/handlers/useless_braces.rs +++ b/crates/ide-diagnostics/src/handlers/useless_braces.rs @@ -1,3 +1,4 @@ +use hir::InFile; use ide_db::{base_db::FileId, source_change::SourceChange}; use itertools::Itertools; use syntax::{ast, AstNode, SyntaxNode}; @@ -39,6 +40,7 @@ pub(crate) fn useless_braces( "Unnecessary braces in use statement".to_string(), use_range, ) + .with_main_node(InFile::new(file_id.into(), node.clone())) .with_fixes(Some(vec![fix( "remove_braces", "Remove unnecessary braces", @@ -156,4 +158,23 @@ use a::{c, d::e}; "#, ); } + + #[test] + fn respect_lint_attributes_for_unused_braces() { + check_diagnostics( + r#" +mod b {} +#[allow(unused_braces)] +use {b}; +"#, + ); + check_diagnostics( + r#" +mod b {} +#[deny(unused_braces)] +use {b}; + //^^^ 💡 error: Unnecessary braces in use statement +"#, + ); + } } |
