◐ Shell
clean mode source ↗

member field + lambda results unexpected UnboundLocalError

Code:

class X:
    v = 10
    f = lambda x=v: x

Expected:
silence

Actual:

Traceback (most recent call last):
  File "test_lambda_scope.py", line 3, in <module>
    f = lambda x=v: x
  File "test_lambda_scope.py", line 3, in X
    f = lambda x=v: x
UnboundLocalError: local variable 'v' referenced before assignment