mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-01 22:31:23 +00:00
Move remaining lambda rule to deferred pass (#8098)
This commit is contained in:
parent
b1072049bf
commit
ae41d6f30a
3 changed files with 17 additions and 25 deletions
|
@ -2,7 +2,7 @@ use ruff_python_ast::Expr;
|
||||||
|
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::codes::Rule;
|
use crate::codes::Rule;
|
||||||
use crate::rules::pylint;
|
use crate::rules::{flake8_pie, pylint};
|
||||||
|
|
||||||
/// Run lint rules over all deferred lambdas in the [`SemanticModel`].
|
/// Run lint rules over all deferred lambdas in the [`SemanticModel`].
|
||||||
pub(crate) fn deferred_lambdas(checker: &mut Checker) {
|
pub(crate) fn deferred_lambdas(checker: &mut Checker) {
|
||||||
|
@ -18,6 +18,9 @@ pub(crate) fn deferred_lambdas(checker: &mut Checker) {
|
||||||
if checker.enabled(Rule::UnnecessaryLambda) {
|
if checker.enabled(Rule::UnnecessaryLambda) {
|
||||||
pylint::rules::unnecessary_lambda(checker, lambda);
|
pylint::rules::unnecessary_lambda(checker, lambda);
|
||||||
}
|
}
|
||||||
|
if checker.enabled(Rule::ReimplementedListBuiltin) {
|
||||||
|
flake8_pie::rules::reimplemented_list_builtin(checker, lambda);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1267,17 +1267,6 @@ pub(crate) fn expression(expr: &Expr, checker: &mut Checker) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Expr::Lambda(
|
|
||||||
lambda @ ast::ExprLambda {
|
|
||||||
parameters: _,
|
|
||||||
body: _,
|
|
||||||
range: _,
|
|
||||||
},
|
|
||||||
) => {
|
|
||||||
if checker.enabled(Rule::ReimplementedListBuiltin) {
|
|
||||||
flake8_pie::rules::reimplemented_list_builtin(checker, lambda);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Expr::IfExp(ast::ExprIfExp {
|
Expr::IfExp(ast::ExprIfExp {
|
||||||
test,
|
test,
|
||||||
body,
|
body,
|
||||||
|
|
|
@ -1834,15 +1834,15 @@ impl<'a> Checker<'a> {
|
||||||
for snapshot in deferred_functions {
|
for snapshot in deferred_functions {
|
||||||
self.semantic.restore(snapshot);
|
self.semantic.restore(snapshot);
|
||||||
|
|
||||||
if let Stmt::FunctionDef(ast::StmtFunctionDef {
|
let Stmt::FunctionDef(ast::StmtFunctionDef {
|
||||||
body, parameters, ..
|
body, parameters, ..
|
||||||
}) = self.semantic.current_statement()
|
}) = self.semantic.current_statement()
|
||||||
{
|
else {
|
||||||
|
unreachable!("Expected Stmt::FunctionDef")
|
||||||
|
};
|
||||||
|
|
||||||
self.visit_parameters(parameters);
|
self.visit_parameters(parameters);
|
||||||
self.visit_body(body);
|
self.visit_body(body);
|
||||||
} else {
|
|
||||||
unreachable!("Expected Stmt::FunctionDef")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.semantic.restore(snapshot);
|
self.semantic.restore(snapshot);
|
||||||
|
@ -1856,19 +1856,19 @@ impl<'a> Checker<'a> {
|
||||||
for snapshot in lambdas {
|
for snapshot in lambdas {
|
||||||
self.semantic.restore(snapshot);
|
self.semantic.restore(snapshot);
|
||||||
|
|
||||||
if let Some(Expr::Lambda(ast::ExprLambda {
|
let Some(Expr::Lambda(ast::ExprLambda {
|
||||||
parameters,
|
parameters,
|
||||||
body,
|
body,
|
||||||
range: _,
|
range: _,
|
||||||
})) = self.semantic.current_expression()
|
})) = self.semantic.current_expression()
|
||||||
{
|
else {
|
||||||
|
unreachable!("Expected Expr::Lambda");
|
||||||
|
};
|
||||||
|
|
||||||
if let Some(parameters) = parameters {
|
if let Some(parameters) = parameters {
|
||||||
self.visit_parameters(parameters);
|
self.visit_parameters(parameters);
|
||||||
}
|
}
|
||||||
self.visit_expr(body);
|
self.visit_expr(body);
|
||||||
} else {
|
|
||||||
unreachable!("Expected Expr::Lambda");
|
|
||||||
}
|
|
||||||
|
|
||||||
deferred.push(snapshot);
|
deferred.push(snapshot);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue