bpo-36052: Raise a SyntaxError when assigning a value to __debug__ with := (GH-11958)
Trying to assign a value to __debug__ using the assignment operator is supposed to fail, but
a missing check for forbidden names when setting the context in the ast was preventing this behaviour.
diff --git a/Python/ast.c b/Python/ast.c
index e721ac1..62ff868 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -1084,7 +1084,7 @@
return 0;
break;
case Name_kind:
- if (ctx == Store) {
+ if (ctx == Store || ctx == NamedStore) {
if (forbidden_name(c, e->v.Name.id, n, 0))
return 0; /* forbidden_name() calls ast_error() */
}