mirror of
https://github.com/astral-sh/ruff.git
synced 2025-07-19 19:15:30 +00:00
752 B
752 B
Unbound
Unbound
x = foo # error: [unresolved-reference] "Name `foo` used when not defined"
foo = 1
# No error `unresolved-reference` diagnostic is reported for `x`. This is
# desirable because we would get a lot of cascading errors even though there
# is only one root cause (the unbound variable `foo`).
# revealed: Unknown
reveal_type(x)
Note: in this particular example, one could argue that the most likely error would be a wrong order
of the x
/foo
definitions, and so it could be desirable to infer Literal[1]
for the type of
x
. On the other hand, there might be a variable fob
a little higher up in this file, and the
actual error might have been just a typo. Inferring Unknown
thus seems like the safest option.