Skip to content

unnecessary-lambda false positive if parameter is used in lambda body #8496

Closed
@cherryblossom000

Description

@cherryblossom000

Bug description

A unnecessary-lambda warning is created for lambda expressions which use one of its parameters in its body, for example:

# pylint: disable=expression-not-assigned,missing-module-docstring,undefined-variable
lambda x: x(x)

My real code was something like

lambda foo, bar: (function1 if bar == 1 else function2)(foo, bar)

Configuration

No response

Command used

pylint tmp.py

Pylint output

************* Module tmp
tmp.py:2:0: W0108: Lambda may not be necessary (unnecessary-lambda)

------------------------------------------------------------------
Your code has been rated at 0.00/10 (previous run: 0.00/10, +0.00)

Expected behavior

No warning

Pylint version

pylint 2.17.0
astroid 2.15.0
Python 3.11.2 (main, Mar 17 2023, 12:30:14) [Clang 14.0.0 (clang-1400.0.29.202)]

OS / Environment

No response

Additional dependencies

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions