mirror of https://github.com/astral-sh/ruff
Avoid prefer-list-builtin for lambdas with `*args` or `**kwargs` (#3102)
This commit is contained in:
parent
d93c5811ea
commit
fa1459d56e
|
|
@ -18,3 +18,10 @@ class Foo:
|
||||||
|
|
||||||
class FooTable(BaseTable):
|
class FooTable(BaseTable):
|
||||||
bar = fields.ListField(list)
|
bar = fields.ListField(list)
|
||||||
|
|
||||||
|
|
||||||
|
lambda *args, **kwargs: []
|
||||||
|
|
||||||
|
lambda *args: []
|
||||||
|
|
||||||
|
lambda **kwargs: []
|
||||||
|
|
|
||||||
|
|
@ -358,7 +358,12 @@ pub fn prefer_list_builtin(checker: &mut Checker, expr: &Expr) {
|
||||||
let ExprKind::Lambda { args, body } = &expr.node else {
|
let ExprKind::Lambda { args, body } = &expr.node else {
|
||||||
unreachable!("Expected ExprKind::Lambda");
|
unreachable!("Expected ExprKind::Lambda");
|
||||||
};
|
};
|
||||||
if args.args.is_empty() {
|
if args.args.is_empty()
|
||||||
|
&& args.kwonlyargs.is_empty()
|
||||||
|
&& args.posonlyargs.is_empty()
|
||||||
|
&& args.vararg.is_none()
|
||||||
|
&& args.kwarg.is_none()
|
||||||
|
{
|
||||||
if let ExprKind::List { elts, .. } = &body.node {
|
if let ExprKind::List { elts, .. } = &body.node {
|
||||||
if elts.is_empty() {
|
if elts.is_empty() {
|
||||||
let mut diagnostic = Diagnostic::new(PreferListBuiltin, Range::from_located(expr));
|
let mut diagnostic = Diagnostic::new(PreferListBuiltin, Range::from_located(expr));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue