## Summary Fixes the bug described in #13514 where an unbound public type defaulted to the type or `Unknown`, whereas it should only be the type if unbound. ## Test Plan Added a new test case --------- Co-authored-by: Carl Meyer <carl@astral.sh>
352 B
352 B
Unbound
Unbound
x = foo
foo = 1
reveal_type(x) # revealed: Unbound
Unbound class variable
Name lookups within a class scope fall back to globals, but lookups of class attributes don't.
x = 1
class C:
y = x
if flag:
x = 2
reveal_type(C.x) # revealed: Literal[2]
reveal_type(C.y) # revealed: Literal[1]