Skip to content

Commit 4dcd92e

Browse files
authored
detect undefined name of variable defined by AnnAssign (#729)
1 parent 7d6479e commit 4dcd92e

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

pyflakes/checker.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2265,7 +2265,6 @@ def EXCEPTHANDLER(self, node):
22652265
self.scope[node.name] = prev_definition
22662266

22672267
def ANNASSIGN(self, node):
2268-
self.handleNode(node.target, node)
22692268
self.handleAnnotation(node.annotation, node)
22702269
# If the assignment has value, handle the *value* now.
22712270
if node.value:
@@ -2274,6 +2273,7 @@ def ANNASSIGN(self, node):
22742273
self.handleAnnotation(node.value, node)
22752274
else:
22762275
self.handleNode(node.value, node)
2276+
self.handleNode(node.target, node)
22772277

22782278
def COMPARE(self, node):
22792279
left = node.left

pyflakes/test/test_type_annotations.py

+5
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,11 @@ def g(t: 'T'): pass
298298
a: 'a: "A"'
299299
''', m.ForwardAnnotationSyntaxError)
300300

301+
def test_variable_annotation_references_self_name_undefined(self):
302+
self.flakes("""
303+
x: int = x
304+
""", m.UndefinedName)
305+
301306
def test_TypeAlias_annotations(self):
302307
self.flakes("""
303308
from typing_extensions import TypeAlias

0 commit comments

Comments
 (0)