# Augmented assignment ## Basic ```py x = 3 x -= 1 reveal_type(x) # revealed: Literal[2] ``` ## Dunder methods ```py class C: def __isub__(self, other: int) -> str: return "Hello, world!" x = C() x -= 1 reveal_type(x) # revealed: str ``` ## Unsupported types ```py class C: def __isub__(self, other: str) -> int: return 42 x = C() x -= 1 # TODO: should error, once operand type check is implemented reveal_type(x) # revealed: int ```