ruff
e9986d8e - [ty] Reject using properties with `Never` setters or deleters (#24510)

Commit
152 days ago
[ty] Reject using properties with `Never` setters or deleters (#24510) ## Summary We currently error if `__setattr__` returns `Never` and the user attempts to assign to an attribute, and same for deletion. This PR extends that behavior to properties with setters and deleters. For example, this is now forbidden: ```python from typing import NoReturn class NoReturnSetter: @property def x(self) -> int: return 1 @x.setter def x(self, value: int) -> NoReturn: raise RuntimeError no_return_setter = NoReturnSetter() # error: [invalid-assignment] "Cannot assign to attribute `x` on type `NoReturnSetter` whose `__set__` method returns `Never`/`NoReturn`" no_return_setter.x = 1 ```
Author
Parents
Loading