From 947ce58a9018d23cb1e5e8de550f2ba0e542248e Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Thu, 24 Jun 2010 00:12:40 +0000 Subject: [PATCH] prevent assignment to set literals --- Lib/test/test_syntax.py | 6 ++++++ Misc/NEWS | 2 ++ Python/ast.c | 1 + 3 files changed, 9 insertions(+) diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index 899db61d17..4992a32a8e 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -468,6 +468,12 @@ Traceback (most recent call last): File "", line 1 SyntaxError: can't delete () +>>> {1, 2, 3} = 42 +Traceback (most recent call last): + ... + File "", line 1 +SyntaxError: can't assign to literal + """ import re diff --git a/Misc/NEWS b/Misc/NEWS index cb60239138..70ce171577 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,8 @@ What's New in Python 2.7? Core and Builtins ----------------- +- Prevent assignment to set literals. + Library ------- diff --git a/Python/ast.c b/Python/ast.c index 41c0d28e1b..f8c83d934c 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -440,6 +440,7 @@ set_context(struct compiling *c, expr_ty e, expr_context_ty ctx, const node *n) expr_name = "dict comprehension"; break; case Dict_kind: + case Set_kind: case Num_kind: case Str_kind: expr_name = "literal"; -- 2.50.1