diff options
-rw-r--r-- | Lib/test/test_generators.py | 2 | ||||
-rw-r--r-- | Lib/test/test_genexps.py | 2 | ||||
-rw-r--r-- | Lib/test/test_syntax.py | 6 | ||||
-rw-r--r-- | Python/ast.c | 25 |
4 files changed, 5 insertions, 30 deletions
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py index b997ebc..f4c9655 100644 --- a/Lib/test/test_generators.py +++ b/Lib/test/test_generators.py @@ -1588,7 +1588,7 @@ SyntaxError: can't assign to yield expression Traceback (most recent call last): ... File "<doctest test.test_generators.__test__.coroutine[25]>", line 1 -SyntaxError: augmented assignment to yield expression not possible +SyntaxError: can't assign to yield expression Now check some throw() conditions: diff --git a/Lib/test/test_genexps.py b/Lib/test/test_genexps.py index 17ad78a..3d896a5 100644 --- a/Lib/test/test_genexps.py +++ b/Lib/test/test_genexps.py @@ -144,7 +144,7 @@ Verify that syntax error's are raised for genexps used as lvalues Traceback (most recent call last): ... File "<doctest test.test_genexps.__test__.doctests[41]>", line 1 - SyntaxError: augmented assignment to generator expression not possible + SyntaxError: can't assign to generator expression ########### Tests borrowed from or inspired by test_generators.py ############ diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index 896ee81..c1027b1 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -248,12 +248,12 @@ Traceback (most recent call last): SyntaxError: keyword can't be an expression -From ast_for_expr_stmt(): +More set_context(): >>> (x for x in x) += 1 Traceback (most recent call last): File "<doctest test.test_syntax[31]>", line 1 -SyntaxError: augmented assignment to generator expression not possible +SyntaxError: can't assign to generator expression >>> None += 1 Traceback (most recent call last): File "<doctest test.test_syntax[32]>", line 1 @@ -261,7 +261,7 @@ SyntaxError: cannot assign to None >>> f() += 1 Traceback (most recent call last): File "<doctest test.test_syntax[33]>", line 1 -SyntaxError: illegal expression for augmented assignment +SyntaxError: can't assign to function call Test continue in finally in weird combinations. diff --git a/Python/ast.c b/Python/ast.c index abad2d9..2cc41b2 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -2088,31 +2088,6 @@ ast_for_expr_stmt(struct compiling *c, const node *n) expr1 = ast_for_testlist(c, ch); if (!expr1) return NULL; - /* TODO(nas): Remove duplicated error checks (set_context does it) */ - switch (expr1->kind) { - case GeneratorExp_kind: - ast_error(ch, "augmented assignment to generator " - "expression not possible"); - return NULL; - case Yield_kind: - ast_error(ch, "augmented assignment to yield " - "expression not possible"); - return NULL; - case Name_kind: { - const char *var_name = PyBytes_AS_STRING(expr1->v.Name.id); - if ((var_name[0] == 'N' || var_name[0] == 'T' || var_name[0] == 'F') && - !forbidden_check(c, ch, var_name)) - return NULL; - break; - } - case Attribute_kind: - case Subscript_kind: - break; - default: - ast_error(ch, "illegal expression for augmented " - "assignment"); - return NULL; - } if(!set_context(c, expr1, Store, ch)) return NULL; |