diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2022-05-16 13:01:34 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-16 13:01:34 (GMT) |
commit | 52e6596fb5f9371f3a1434dd7816e400862b4df8 (patch) | |
tree | 4bf4ca6b5b85b0a5dcf7b51fc3e1b57afc76619e | |
parent | 2ef6a986ee7e59461578f7847695f29d0fe1d065 (diff) | |
download | cpython-52e6596fb5f9371f3a1434dd7816e400862b4df8.zip cpython-52e6596fb5f9371f3a1434dd7816e400862b4df8.tar.gz cpython-52e6596fb5f9371f3a1434dd7816e400862b4df8.tar.bz2 |
gh-92671: Don't omit parentheses when unparsing empty tuples (GH-92673)
(cherry picked from commit f6fd8aac13714ce17650eb4a648d5c08f0be53b4)
Co-authored-by: Batuhan Taskaya <isidentical@gmail.com>
-rw-r--r-- | Lib/ast.py | 6 | ||||
-rw-r--r-- | Lib/test/test_unparse.py | 3 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2022-05-11-19-33-27.gh-issue-92671.KE4v6a.rst | 1 |
3 files changed, 9 insertions, 1 deletions
@@ -1335,7 +1335,11 @@ class _Unparser(NodeVisitor): ) def visit_Tuple(self, node): - with self.require_parens(_Precedence.TUPLE, node): + with self.delimit_if( + "(", + ")", + len(node.elts) == 0 or self.get_precedence(node) > _Precedence.TUPLE + ): self.items_view(self.traverse, node.elts) unop = {"Invert": "~", "Not": "not", "UAdd": "+", "USub": "-"} diff --git a/Lib/test/test_unparse.py b/Lib/test/test_unparse.py index f999ae8..969aa16 100644 --- a/Lib/test/test_unparse.py +++ b/Lib/test/test_unparse.py @@ -648,6 +648,9 @@ class CosmeticTestCase(ASTTestCase): self.check_src_roundtrip(source.format(target=target)) def test_star_expr_assign_target_multiple(self): + self.check_src_roundtrip("() = []") + self.check_src_roundtrip("[] = ()") + self.check_src_roundtrip("() = [a] = c, = [d] = e, f = () = g = h") self.check_src_roundtrip("a = b = c = d") self.check_src_roundtrip("a, b = c, d = e, f = g") self.check_src_roundtrip("[a, b] = [c, d] = [e, f] = g") diff --git a/Misc/NEWS.d/next/Library/2022-05-11-19-33-27.gh-issue-92671.KE4v6a.rst b/Misc/NEWS.d/next/Library/2022-05-11-19-33-27.gh-issue-92671.KE4v6a.rst new file mode 100644 index 0000000..b50677a --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-05-11-19-33-27.gh-issue-92671.KE4v6a.rst @@ -0,0 +1 @@ +Fixed :func:`ast.unparse` for empty tuples in the assignment target context. |