diff --git a/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs b/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs index 4e2a1dc35c..fed37def9a 100644 --- a/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs +++ b/crates/ruff_linter/src/rules/flake8_bandit/rules/suspicious_function_call.rs @@ -1091,9 +1091,12 @@ fn suspicious_function( ] => checker.report_diagnostic_if_enabled(SuspiciousInsecureCipherModeUsage, range), // Mktemp - ["tempfile", "mktemp"] => { - checker.report_diagnostic_if_enabled(SuspiciousMktempUsage, range) - } + ["tempfile", "mktemp"] => checker + .report_diagnostic_if_enabled(SuspiciousMktempUsage, range) + .map(|mut diagnostic| { + diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated); + diagnostic + }), // Eval ["" | "builtins", "eval"] => { diff --git a/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs b/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs index 264d650548..59d9173860 100644 --- a/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs +++ b/crates/ruff_linter/src/rules/flake8_pyi/rules/bytestring_usage.rs @@ -74,7 +74,8 @@ pub(crate) fn bytestring_attribute(checker: &Checker, attribute: &Expr) { ["collections", "abc", "ByteString"] => ByteStringOrigin::CollectionsAbc, _ => return, }; - checker.report_diagnostic(ByteStringUsage { origin }, attribute.range()); + let mut diagnostic = checker.report_diagnostic(ByteStringUsage { origin }, attribute.range()); + diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated); } /// PYI057 @@ -94,7 +95,9 @@ pub(crate) fn bytestring_import(checker: &Checker, import_from: &ast::StmtImport for name in names { if name.name.as_str() == "ByteString" { - checker.report_diagnostic(ByteStringUsage { origin }, name.range()); + let mut diagnostic = + checker.report_diagnostic(ByteStringUsage { origin }, name.range()); + diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated); } } } diff --git a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs index 128b3b06e3..6c0558636c 100644 --- a/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs +++ b/crates/ruff_linter/src/rules/flake8_pytest_style/rules/fixture.rs @@ -898,7 +898,9 @@ fn check_test_function_args(checker: &Checker, parameters: &Parameters, decorato /// PT020 fn check_fixture_decorator_name(checker: &Checker, decorator: &Decorator) { if is_pytest_yield_fixture(decorator, checker.semantic()) { - checker.report_diagnostic(PytestDeprecatedYieldFixture, decorator.range()); + let mut diagnostic = + checker.report_diagnostic(PytestDeprecatedYieldFixture, decorator.range()); + diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated); } } diff --git a/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs b/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs index fb0ea5a004..2aff59aa32 100644 --- a/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs +++ b/crates/ruff_linter/src/rules/flake8_unused_arguments/rules/unused_arguments.rs @@ -223,7 +223,7 @@ enum Argumentable { impl Argumentable { fn check_for(self, checker: &Checker, name: String, range: TextRange) { - match self { + let mut diagnostic = match self { Self::Function => checker.report_diagnostic(UnusedFunctionArgument { name }, range), Self::Method => checker.report_diagnostic(UnusedMethodArgument { name }, range), Self::ClassMethod => { @@ -234,6 +234,7 @@ impl Argumentable { } Self::Lambda => checker.report_diagnostic(UnusedLambdaArgument { name }, range), }; + diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Unnecessary); } const fn rule_code(self) -> Rule { diff --git a/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs b/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs index b34f4b917d..1cbae5066d 100644 --- a/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs +++ b/crates/ruff_linter/src/rules/numpy/rules/deprecated_function.rs @@ -80,6 +80,7 @@ pub(crate) fn deprecated_function(checker: &Checker, expr: &Expr) { }, expr.range(), ); + diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated); diagnostic.try_set_fix(|| { let (import_edit, binding) = checker.importer().get_or_import_symbol( &ImportRequest::import_from("numpy", replacement), diff --git a/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs b/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs index daa445642a..60967e12b4 100644 --- a/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs +++ b/crates/ruff_linter/src/rules/numpy/rules/deprecated_type_alias.rs @@ -80,6 +80,7 @@ pub(crate) fn deprecated_type_alias(checker: &Checker, expr: &Expr) { }, expr.range(), ); + diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated); let type_name = match type_name { "unicode" => "str", _ => type_name,