mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-10-31 03:55:09 +00:00 
			
		
		
		
	
		
			
				
	
	
	
	
		
			806 B
		
	
	
	
	
	
	
	
			
		
		
	
	
			806 B
		
	
	
	
	
	
	
	
Integer literals
Literals
We can infer an integer literal type:
reveal_type(1)  # revealed: Literal[1]
Variable
x = 1
reveal_type(x)  # revealed: Literal[1]
Overflow
We only track integer literals within the range of an i64:
reveal_type(9223372036854775808)  # revealed: int
Big int
We don't support big integer literals; we just infer int type instead:
x = 10_000_000_000_000_000_000
reveal_type(x)  # revealed: int
Negated
x = -1
y = -1234567890987654321
z = --987
reveal_type(x)  # revealed: Literal[-1]
reveal_type(y)  # revealed: Literal[-1234567890987654321]
reveal_type(z)  # revealed: Literal[987]
Floats
reveal_type(1.0)  # revealed: float
Complex
reveal_type(2j)  # revealed: complex
