diff options
author | Anthony Sottile <asottile@umich.edu> | 2022-09-08 18:10:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-08 18:10:17 -0400 |
commit | 4dcd92e45efeb0615ba1c96d45241a037d30abe0 (patch) | |
tree | f0ed6dc91d9eb272bbbe24995d5757ef2d25233c | |
parent | 7d6479e46f8f3e9607c9ef7975cc892db023d413 (diff) | |
download | pyflakes-4dcd92e45efeb0615ba1c96d45241a037d30abe0.tar.gz |
detect undefined name of variable defined by AnnAssign (#729)
-rw-r--r-- | pyflakes/checker.py | 2 | ||||
-rw-r--r-- | pyflakes/test/test_type_annotations.py | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/pyflakes/checker.py b/pyflakes/checker.py index ae15621..56fc3ca 100644 --- a/pyflakes/checker.py +++ b/pyflakes/checker.py @@ -2265,7 +2265,6 @@ class Checker: self.scope[node.name] = prev_definition def ANNASSIGN(self, node): - self.handleNode(node.target, node) self.handleAnnotation(node.annotation, node) # If the assignment has value, handle the *value* now. if node.value: @@ -2274,6 +2273,7 @@ class Checker: self.handleAnnotation(node.value, node) else: self.handleNode(node.value, node) + self.handleNode(node.target, node) def COMPARE(self, node): left = node.left diff --git a/pyflakes/test/test_type_annotations.py b/pyflakes/test/test_type_annotations.py index 3775cd3..d881205 100644 --- a/pyflakes/test/test_type_annotations.py +++ b/pyflakes/test/test_type_annotations.py @@ -298,6 +298,11 @@ class TestTypeAnnotations(TestCase): a: 'a: "A"' ''', m.ForwardAnnotationSyntaxError) + def test_variable_annotation_references_self_name_undefined(self): + self.flakes(""" + x: int = x + """, m.UndefinedName) + def test_TypeAlias_annotations(self): self.flakes(""" from typing_extensions import TypeAlias |