diff options
author | Marc Mueller <30130371+cdce8p@users.noreply.github.com> | 2021-08-12 19:10:15 +0200 |
---|---|---|
committer | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2021-08-12 19:22:13 +0200 |
commit | 0b9e449111cbf59d23c23a1a98eea67ddd56ddf6 (patch) | |
tree | 00e3ca37c0a33fef0865e05b9e30f2865c41091b | |
parent | bad3bdebffc3fb7732bbfb4eb6b67f9052a5dfd4 (diff) | |
download | pylint-git-0b9e449111cbf59d23c23a1a98eea67ddd56ddf6.tar.gz |
Fix false-positive used-before-assignment with := in Return node
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | pylint/checkers/variables.py | 1 | ||||
-rw-r--r-- | tests/functional/a/assign/assignment_expression.py | 5 |
3 files changed, 10 insertions, 0 deletions
@@ -114,6 +114,10 @@ Release date: TBA Closes #3839 +* Fix false-positive ``used-before-assignment`` with an assignment expression in a ``Return`` node + + Closes #4828 + What's New in Pylint 2.9.6? =========================== diff --git a/pylint/checkers/variables.py b/pylint/checkers/variables.py index 7009bfd5e..89d98067b 100644 --- a/pylint/checkers/variables.py +++ b/pylint/checkers/variables.py @@ -1464,6 +1464,7 @@ class VariablesChecker(BaseChecker): astroid.AnnAssign, astroid.AugAssign, astroid.Expr, + astroid.Return, ), ) and isinstance(defstmt.value, astroid.IfExp) diff --git a/tests/functional/a/assign/assignment_expression.py b/tests/functional/a/assign/assignment_expression.py index a2a586e53..4bb41f1a6 100644 --- a/tests/functional/a/assign/assignment_expression.py +++ b/tests/functional/a/assign/assignment_expression.py @@ -84,3 +84,8 @@ l3 += ( def func2(): return f'The number {(count := 4)} ' \ f'is equal to {count}' + + +# https://github.com/PyCQA/pylint/issues/4828 +def func3(): + return bar if (bar := "") else "" |