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:
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 ############
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
>>> 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.
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;