From bd3e362089c9fab1028a1bf58b4e762851a32244 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Tue, 12 Apr 2011 18:33:28 -0500 Subject: [PATCH] make assigning to a bytes literal a syntax error (closes #11506) --- Lib/test/test_syntax.py | 4 ++++ Misc/NEWS | 3 +++ Python/ast.c | 1 + 3 files changed, 8 insertions(+) diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index 202770afa6d..7faab911a7a 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -67,6 +67,10 @@ SyntaxError: can't assign to literal Traceback (most recent call last): SyntaxError: can't assign to literal +>>> b"" = 1 +Traceback (most recent call last): +SyntaxError: can't assign to literal + >>> `1` = 1 Traceback (most recent call last): SyntaxError: invalid syntax diff --git a/Misc/NEWS b/Misc/NEWS index a90aee98963..b80bd5268ad 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -45,6 +45,9 @@ Core and Builtins - Issue #5587: add a repr to dict_proxy objects. Patch by David Stanek and Daniel Urban. +- Issue #11506: Trying to assign to a bytes literal should result in a + SyntaxError. + Library ------- diff --git a/Python/ast.c b/Python/ast.c index 590bc90dabf..d97e9518ce5 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -469,6 +469,7 @@ set_context(struct compiling *c, expr_ty e, expr_context_ty ctx, const node *n) case Set_kind: case Num_kind: case Str_kind: + case Bytes_kind: expr_name = "literal"; break; case Ellipsis_kind: