Jan. 1, 2020
2:41 a.m.
https://github.com/python/cpython/commit/37143a8e3b2e9245d52f4ddebbdd1c6121c96884
commit: 37143a8e3b2e9245d52f4ddebbdd1c6121c96884
branch: master
author: Ned Batchelder <ned@nedbatchelder.com>
committer: Raymond Hettinger <rhettinger@users.noreply.github.com>
date: 2019-12-31T20:40:58-06:00
summary:
bpo-39176: Improve error message for 'named assignment' (GH-17777)
files:
M Lib/test/test_named_expressions.py
M Lib/test/test_syntax.py
M Python/ast.c
diff --git a/Lib/test/test_named_expressions.py b/Lib/test/test_named_expressions.py
index 01e26c8dfaf25..3ae557f78d273 100644
--- a/Lib/test/test_named_expressions.py
+++ b/Lib/test/test_named_expressions.py
@@ -32,7 +32,7 @@ def test_named_expression_invalid_04(self):
def test_named_expression_invalid_06(self):
code = """((a, b) := (1, 2))"""
- with self.assertRaisesRegex(SyntaxError, "cannot use named assignment with tuple"):
+ with self.assertRaisesRegex(SyntaxError, "cannot use assignment expressions with tuple"):
exec(code, {}, {})
def test_named_expression_invalid_07(self):
@@ -90,7 +90,7 @@ def test_named_expression_invalid_15(self):
code = """(lambda: x := 1)"""
with self.assertRaisesRegex(SyntaxError,
- "cannot use named assignment with lambda"):
+ "cannot use assignment expressions with lambda"):
exec(code, {}, {})
def test_named_expression_invalid_16(self):
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index 3829746f1799a..128c4da143841 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -45,7 +45,7 @@
>>> (True := 1)
Traceback (most recent call last):
-SyntaxError: cannot use named assignment with True
+SyntaxError: cannot use assignment expressions with True
>>> obj.__debug__ = 1
Traceback (most recent call last):
diff --git a/Python/ast.c b/Python/ast.c
index e4e9b837d3409..d5113f8e413f4 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -1955,7 +1955,7 @@ ast_for_namedexpr(struct compiling *c, const node *n)
if (target->kind != Name_kind) {
const char *expr_name = get_expr_name(target);
if (expr_name != NULL) {
- ast_error(c, n, "cannot use named assignment with %s", expr_name);
+ ast_error(c, n, "cannot use assignment expressions with %s", expr_name);
}
return NULL;
}