Files
openide/python/testData/psi/InvalidNonParenthesizedAssignmentExpressions.py
Irina Fediaeva a86c492a92 PY-48940: Allow unparenthesized assignment expressions within set literals, set comprehensions.
(cherry picked from commit 1ed44bb7a0bde2c7000923c2ed2a671f913eae8f)

IJ-CR-11891

GitOrigin-RevId: bb0ae8626e085e6c9223626137dbdd07e5c084b3
2021-08-10 13:00:58 +00:00

33 lines
713 B
Python

foo(x = y := f(x)) # INVALID
foo(x=(y := f(x))) # Valid, though probably confusing
def foo(answer = p := 42): # INVALID
pass
def foo(answer=(p := 42)): # Valid, though not great style
pass
def foo(answer: p := 42 = 5): # INVALID
pass
def foo(answer: (p := 42) = 5): # Valid, but probably never useful
pass
(lambda: x := 1) # INVALID
lambda: (x := 1) # Valid, but unlikely to be useful
result_dict = {a := 1 : b := 2} # INVALID
result_dict = {a := 1 : (b := 2)} # INVALID
result_dict = {(a := 1) : (b := 2)}
assert a := 1 # INVALID
assert (a := 1)
l = [1, 2]
l[a := 0] # INVALID
l[(a := 0)]
with f := open('file.txt'): # INVALID
pass
with (f := open('file.txt')):
pass