Skip to content

Commit

Permalink
fix false negative in FURB111
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrugman committed Dec 11, 2023
1 parent 435963c commit 1ef490b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
5 changes: 4 additions & 1 deletion refurb/checks/readability/use_func_name.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@
NameExpr,
ReturnStmt,
TupleExpr,
RefExpr,
)

from refurb.checks.common import stringify
from refurb.error import Error


Expand Down Expand Up @@ -59,13 +61,14 @@ def check(node: LambdaExpr, errors: list[Error]) -> None:
arguments=lambda_args,
body=Block(
body=[
ReturnStmt(expr=CallExpr(callee=NameExpr(name=func_name)) as func),
ReturnStmt(expr=CallExpr(callee=RefExpr() as ref) as func),
]
),
) if (
get_lambda_arg_names(lambda_args) == get_func_arg_names(func.args)
and all(kind == ArgKind.ARG_POS for kind in func.arg_kinds)
):
func_name = stringify(ref)
arg_names = get_lambda_arg_names(lambda_args)
arg_names = ", ".join(arg_names) if arg_names else ""

Expand Down
4 changes: 4 additions & 0 deletions test/data/err_111.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
def f(x, y):
pass

mod = object


lambda: print()
lambda x: bool(x)
Expand All @@ -12,6 +14,8 @@ def f(x, y):
lambda: {}
lambda: ()

lambda x: mod.cast(x)


# these will not

Expand Down

0 comments on commit 1ef490b

Please sign in to comment.