mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-10-29 19:17:20 +00:00 
			
		
		
		
	
		
			
				
	
	
	
	
		
			901 B
		
	
	
	
	
	
	
	
			
		
		
	
	
			901 B
		
	
	
	
	
	
	
	
Instance subscript
Getitem unbound
class NotSubscriptable: ...
a = NotSubscriptable()[0]  # error: "Cannot subscript object of type `NotSubscriptable` with no `__getitem__` method"
Getitem not callable
class NotSubscriptable:
    __getitem__ = None
# error: "Method `__getitem__` of type `Unknown | None` is not callable on object of type `NotSubscriptable`"
a = NotSubscriptable()[0]
Valid getitem
class Identity:
    def __getitem__(self, index: int) -> int:
        return index
reveal_type(Identity()[0])  # revealed: int
Getitem union
def _(flag: bool):
    class Identity:
        if flag:
            def __getitem__(self, index: int) -> int:
                return index
        else:
            def __getitem__(self, index: int) -> str:
                return str(index)
    reveal_type(Identity()[0])  # revealed: int | str
