Skip to content

Commit 82c8c9b

Browse files
committed
handle functions
1 parent 0b8ffe3 commit 82c8c9b

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

mypy/partially_defined.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ def visit_match_stmt(self, o: MatchStmt) -> None:
318318
self.tracker.end_branch_statement()
319319

320320
def visit_func_def(self, o: FuncDef) -> None:
321-
self.tracker.record_definition(o.name)
321+
self.process_definition(o.name)
322322
self.tracker.enter_scope()
323323
super().visit_func_def(o)
324324
self.tracker.exit_scope()

test-data/unit/check-partially-defined.test

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,15 @@ def f0(b: bool) -> None:
142142

143143
[case testUseBeforeDefClass]
144144
# flags: --enable-error-code partially-defined --enable-error-code use-before-def
145-
def f(x: A):
145+
def f(x: A): # No error here.
146146
pass
147-
148147
y = A() # E: Name "A" is used before definition
149-
150148
class A: pass
149+
150+
[case testUseBeforeDefFunc]
151+
# flags: --enable-error-code partially-defined --enable-error-code use-before-def
152+
foo() # E: Name "foo" is used before definition
153+
def foo(): pass
151154
[case testGenerator]
152155
# flags: --enable-error-code partially-defined
153156
if int():

0 commit comments

Comments
 (0)