mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-10-31 12:05:52 +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.
