In the example below the variable seemingly has two types (None and x) which is wrong. This also results in an inconsistency with fine-grained incremental mode.
x=Nonedeff() ->None:
reveal_type(x) # Noneifx:
1() # No error, considered as not reachabley=1else:
y=''# No errorx=1reveal_type(x) # int
The expected behavior is for x to always have the type int and for every line in the example to be considered reachable.
In the example below the variable seemingly has two types (
Noneandx) which is wrong. This also results in an inconsistency with fine-grained incremental mode.The expected behavior is for
xto always have the typeintand for every line in the example to be considered reachable.