From dbba1959f78ae3fe0d4e62dd91586c59e13099cd Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sat, 14 Dec 2019 23:23:00 +0100 Subject: [PATCH] Make sure that function executions are errors as well, see #90 --- parso/python/errors.py | 4 ++++ test/failing_examples.py | 1 + 2 files changed, 5 insertions(+) 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