mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-10-31 20:08:19 +00:00 
			
		
		
		
	 f23d2c9b9e
			
		
	
	
		f23d2c9b9e
		
			
		
	
	
	
		
			
	
		
	
	
		
			Some checks are pending
		
		
	
	CI / cargo fmt (push) Waiting to run
				
			CI / Determine changes (push) Waiting to run
				
			CI / cargo clippy (push) Blocked by required conditions
				
			CI / cargo test (linux) (push) Blocked by required conditions
				
			CI / cargo test (linux, release) (push) Blocked by required conditions
				
			CI / cargo test (windows) (push) Blocked by required conditions
				
			CI / cargo test (wasm) (push) Blocked by required conditions
				
			CI / cargo build (release) (push) Waiting to run
				
			CI / cargo build (msrv) (push) Blocked by required conditions
				
			CI / cargo fuzz build (push) Blocked by required conditions
				
			CI / fuzz parser (push) Blocked by required conditions
				
			CI / test scripts (push) Blocked by required conditions
				
			CI / ecosystem (push) Blocked by required conditions
				
			CI / Fuzz for new ty panics (push) Blocked by required conditions
				
			CI / cargo shear (push) Blocked by required conditions
				
			CI / python package (push) Waiting to run
				
			CI / pre-commit (push) Waiting to run
				
			CI / mkdocs (push) Waiting to run
				
			CI / formatter instabilities and black similarity (push) Blocked by required conditions
				
			CI / test ruff-lsp (push) Blocked by required conditions
				
			CI / check playground (push) Blocked by required conditions
				
			CI / benchmarks (push) Blocked by required conditions
				
			[ty Playground] Release / publish (push) Waiting to run
				
			Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
		
			
				
	
	
	
	
		
			745 B
		
	
	
	
	
	
	
	
			
		
		
	
	
			745 B
		
	
	
	
	
	
	
	
Generic builtins
Variadic keyword arguments with a custom dict
When we define dict in a custom typeshed, we must take care to define it as a generic class in the
same way as in the real typeshed.
[environment]
typeshed = "/typeshed"
/typeshed/stdlib/builtins.pyi:
class object: ...
class int: ...
class dict[K, V, Extra]: ...
/typeshed/stdlib/typing_extensions.pyi:
def reveal_type(obj, /): ...
If we don't, then we may get "surprising" results when inferring the types of variadic keyword arguments.
def f(**kwargs):
    reveal_type(kwargs)  # revealed: dict[Unknown, Unknown, Unknown]
def g(**kwargs: int):
    reveal_type(kwargs)  # revealed: dict[Unknown, Unknown, Unknown]