diff --git a/parso/python/errors.py b/parso/python/errors.py index 306ffc9..429f10a 100644 --- a/parso/python/errors.py +++ b/parso/python/errors.py @@ -1095,5 +1095,9 @@ class _NamedExprRule(_CheckAssignmentRule): # (a.b := c) message = 'cannot use named assignment with attribute' self.add_issue(namedexpr_test, message=message) + elif first_child.value == '(': + # (a[i] := x) + message = 'cannot use named assignment with function call' + self.add_issue(namedexpr_test, message=message) else: self._check_assignment(first, is_namedexpr=True) diff --git a/test/failing_examples.py b/test/failing_examples.py index c4f247a..be905e2 100644 --- a/test/failing_examples.py +++ b/test/failing_examples.py @@ -327,6 +327,7 @@ if sys.version_info[:2] >= (3, 8): '(lambda: x := 1)', # Case 3 '(a[i] := x)', + '(a(i) := x)', # Case 4 '(a.b := c)', # Case 5