prevent assignment to set literals

This commit is contained in:
Benjamin Peterson 2010-06-24 00:12:40 +00:00
parent 5c995c10d4
commit 947ce58a90
3 changed files with 9 additions and 0 deletions

View file

@ -468,6 +468,12 @@ Traceback (most recent call last):
File "<doctest test.test_syntax[50]>", line 1 File "<doctest test.test_syntax[50]>", line 1
SyntaxError: can't delete () SyntaxError: can't delete ()
>>> {1, 2, 3} = 42
Traceback (most recent call last):
...
File "<doctest test.test_syntax[50]>", line 1
SyntaxError: can't assign to literal
""" """
import re import re

View file

@ -12,6 +12,8 @@ What's New in Python 2.7?
Core and Builtins Core and Builtins
----------------- -----------------
- Prevent assignment to set literals.
Library Library
------- -------

View file

@ -440,6 +440,7 @@ set_context(struct compiling *c, expr_ty e, expr_context_ty ctx, const node *n)
expr_name = "dict comprehension"; expr_name = "dict comprehension";
break; break;
case Dict_kind: case Dict_kind:
case Set_kind:
case Num_kind: case Num_kind:
case Str_kind: case Str_kind:
expr_name = "literal"; expr_name = "literal";