Test explicit shadowing involving defs (#15174)

Co-authored-by: Carl Meyer <carl@astral.sh>
This commit is contained in:
Shantanu
2024-12-28 16:47:03 -08:00
committed by GitHub
parent 7ea3a549b2
commit bc3a735d93

View File

@@ -25,3 +25,29 @@ def f(): ...
f: int = 1
```
## Explicit shadowing involving `def` statements
Since a `def` statement is a declaration, one `def` can shadow another `def`, or shadow a previous
non-`def` declaration, without error.
```py
f = 1
reveal_type(f) # revealed: Literal[1]
def f(): ...
reveal_type(f) # revealed: Literal[f]
def f(x: int) -> int:
raise NotImplementedError
reveal_type(f) # revealed: Literal[f]
f: int = 1
reveal_type(f) # revealed: Literal[1]
def f(): ...
reveal_type(f) # revealed: Literal[f]
```