From e422e53042ada656f7a485f2d053dc1885193026 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Mon, 12 Aug 2019 06:00:58 -0700 Subject: Add support for PEP 572 assignment expressions (#457) --- pyflakes/checker.py | 2 +- pyflakes/test/test_other.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pyflakes/checker.py b/pyflakes/checker.py index f2e579f..3ed398d 100644 --- a/pyflakes/checker.py +++ b/pyflakes/checker.py @@ -1329,7 +1329,7 @@ class Checker(object): # "expr" type nodes BOOLOP = UNARYOP = IFEXP = SET = \ REPR = ATTRIBUTE = SUBSCRIPT = \ - STARRED = NAMECONSTANT = handleChildren + STARRED = NAMECONSTANT = NAMEDEXPR = handleChildren def _handle_string_dot_format(self, node): try: diff --git a/pyflakes/test/test_other.py b/pyflakes/test/test_other.py index 775fdde..df2f790 100644 --- a/pyflakes/test/test_other.py +++ b/pyflakes/test/test_other.py @@ -1754,6 +1754,15 @@ class TestUnusedAssignment(TestCase): print(f'\x7b4*baz\N{RIGHT CURLY BRACKET}') ''') + @skipIf(version_info < (3, 8), 'new in Python 3.8') + def test_assign_expr(self): + """Test PEP 572 assignment expressions are treated as usage / write.""" + self.flakes(''' + from foo import y + print(x := y) + print(x) + ''') + class TestStringFormatting(TestCase): -- cgit v1.2.1