give a better error message when deleting ()
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index c1027b1..26d78ad 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -462,6 +462,12 @@
File "<doctest test.test_syntax[49]>", line 1
SyntaxError: keyword argument repeated
+>>> del ()
+Traceback (most recent call last):
+ ...
+ File "<doctest test.test_syntax[50]>", line 1
+SyntaxError: can't delete ()
+
"""
import re
diff --git a/Python/ast.c b/Python/ast.c
index a415495..4a85164 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -402,10 +402,13 @@
s = e->v.List.elts;
break;
case Tuple_kind:
- if (asdl_seq_LEN(e->v.Tuple.elts) == 0)
- return ast_error(n, "can't assign to ()");
- e->v.Tuple.ctx = ctx;
- s = e->v.Tuple.elts;
+ if (asdl_seq_LEN(e->v.Tuple.elts)) {
+ e->v.Tuple.ctx = ctx;
+ s = e->v.Tuple.elts;
+ }
+ else {
+ expr_name = "()";
+ }
break;
case Lambda_kind:
expr_name = "lambda";