[`ruff`] Use DiagnosticTag for more flake8 and numpy rules (#20758)

This commit is contained in:
Takayuki Maeda 2025-10-13 17:29:15 +09:00 committed by GitHub
parent 9b9c9ae092
commit f715d70be1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 18 additions and 7 deletions

View File

@ -1091,9 +1091,12 @@ fn suspicious_function(
] => checker.report_diagnostic_if_enabled(SuspiciousInsecureCipherModeUsage, range), ] => checker.report_diagnostic_if_enabled(SuspiciousInsecureCipherModeUsage, range),
// Mktemp // Mktemp
["tempfile", "mktemp"] => { ["tempfile", "mktemp"] => checker
checker.report_diagnostic_if_enabled(SuspiciousMktempUsage, range) .report_diagnostic_if_enabled(SuspiciousMktempUsage, range)
} .map(|mut diagnostic| {
diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated);
diagnostic
}),
// Eval // Eval
["" | "builtins", "eval"] => { ["" | "builtins", "eval"] => {

View File

@ -74,7 +74,8 @@ pub(crate) fn bytestring_attribute(checker: &Checker, attribute: &Expr) {
["collections", "abc", "ByteString"] => ByteStringOrigin::CollectionsAbc, ["collections", "abc", "ByteString"] => ByteStringOrigin::CollectionsAbc,
_ => return, _ => 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 /// PYI057
@ -94,7 +95,9 @@ pub(crate) fn bytestring_import(checker: &Checker, import_from: &ast::StmtImport
for name in names { for name in names {
if name.name.as_str() == "ByteString" { if name.name.as_str() == "ByteString" {
let mut diagnostic =
checker.report_diagnostic(ByteStringUsage { origin }, name.range()); checker.report_diagnostic(ByteStringUsage { origin }, name.range());
diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated);
} }
} }
} }

View File

@ -898,7 +898,9 @@ fn check_test_function_args(checker: &Checker, parameters: &Parameters, decorato
/// PT020 /// PT020
fn check_fixture_decorator_name(checker: &Checker, decorator: &Decorator) { fn check_fixture_decorator_name(checker: &Checker, decorator: &Decorator) {
if is_pytest_yield_fixture(decorator, checker.semantic()) { if is_pytest_yield_fixture(decorator, checker.semantic()) {
let mut diagnostic =
checker.report_diagnostic(PytestDeprecatedYieldFixture, decorator.range()); checker.report_diagnostic(PytestDeprecatedYieldFixture, decorator.range());
diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated);
} }
} }

View File

@ -223,7 +223,7 @@ enum Argumentable {
impl Argumentable { impl Argumentable {
fn check_for(self, checker: &Checker, name: String, range: TextRange) { 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::Function => checker.report_diagnostic(UnusedFunctionArgument { name }, range),
Self::Method => checker.report_diagnostic(UnusedMethodArgument { name }, range), Self::Method => checker.report_diagnostic(UnusedMethodArgument { name }, range),
Self::ClassMethod => { Self::ClassMethod => {
@ -234,6 +234,7 @@ impl Argumentable {
} }
Self::Lambda => checker.report_diagnostic(UnusedLambdaArgument { name }, range), Self::Lambda => checker.report_diagnostic(UnusedLambdaArgument { name }, range),
}; };
diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Unnecessary);
} }
const fn rule_code(self) -> Rule { const fn rule_code(self) -> Rule {

View File

@ -80,6 +80,7 @@ pub(crate) fn deprecated_function(checker: &Checker, expr: &Expr) {
}, },
expr.range(), expr.range(),
); );
diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated);
diagnostic.try_set_fix(|| { diagnostic.try_set_fix(|| {
let (import_edit, binding) = checker.importer().get_or_import_symbol( let (import_edit, binding) = checker.importer().get_or_import_symbol(
&ImportRequest::import_from("numpy", replacement), &ImportRequest::import_from("numpy", replacement),

View File

@ -80,6 +80,7 @@ pub(crate) fn deprecated_type_alias(checker: &Checker, expr: &Expr) {
}, },
expr.range(), expr.range(),
); );
diagnostic.add_primary_tag(ruff_db::diagnostic::DiagnosticTag::Deprecated);
let type_name = match type_name { let type_name = match type_name {
"unicode" => "str", "unicode" => "str",
_ => type_name, _ => type_name,