summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/ast.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/Python/ast.c b/Python/ast.c
index 765d24e..deea579 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -938,6 +938,26 @@ forbidden_name(struct compiling *c, identifier name, const node *n,
ast_error(c, n, "assignment to keyword");
return 1;
}
+ if (PyUnicode_CompareWithASCIIString(name, "async") == 0 ||
+ PyUnicode_CompareWithASCIIString(name, "await") == 0)
+ {
+ PyObject *message = PyUnicode_FromString(
+ "'async' and 'await' will become reserved keywords"
+ " in Python 3.7");
+ if (message == NULL) {
+ return 1;
+ }
+ if (PyErr_WarnExplicitObject(
+ PyExc_DeprecationWarning,
+ message,
+ c->c_filename,
+ LINENO(n),
+ NULL,
+ NULL) < 0)
+ {
+ return 1;
+ }
+ }
if (full_checks) {
const char * const *p;
for (p = FORBIDDEN; *p; p++) {