.. _NoRedundantLambdaRule:

=====================
NoRedundantLambdaRule
=====================
A lamba function which has a single objective of
    passing all it is arguments to another callable can
    be safely replaced by that callable.
----------------
Has Autofix: Yes
----------------

-------------------
VALID Code Examples
-------------------

# 1:







.. code-block:: python

            lambda x: foo(y)




# 2:







.. code-block:: python

            lambda x: foo(x, y)




# 3:







.. code-block:: python

            lambda x, y: foo(x)




.. container:: toggle


    # 4:







    .. code-block:: python

                lambda *, x: foo(x)





    # 5:







    .. code-block:: python

                lambda x = y: foo(x)





    # 6:







    .. code-block:: python

                lambda x, y: foo(y, x)





    # 7:







    .. code-block:: python

                lambda self: self.func()





    # 8:







    .. code-block:: python

                lambda x, y: foo(y=x, x=y)





    # 9:







    .. code-block:: python

                lambda x, y, *z: foo(x, y, z)





    # 10:







    .. code-block:: python

                lambda x, y, **z: foo(x, y, z)





---------------------
INVALID Code Examples
---------------------

# 1:







.. code-block:: python

            lambda: self.func()




Autofix:

.. code-block:: python

    --- 
    +++ 
    @@ -1 +1 @@
    -lambda: self.func()
    +self.func

# 2:







.. code-block:: python

            lambda x: foo(x)




Autofix:

.. code-block:: python

    --- 
    +++ 
    @@ -1 +1 @@
    -lambda x: foo(x)
    +foo

# 3:







.. code-block:: python

            lambda x, y, z: (t + u).math_call(x, y, z)




Autofix:

.. code-block:: python

    --- 
    +++ 
    @@ -1 +1 @@
    -lambda x, y, z: (t + u).math_call(x, y, z)
    +(t + u).math_call
