You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mypy includes functools.cached_property on it's list of property-list types, but considers it to be too identical to property. It allows the use of cached_property.setter and cached_property.deleter without raising an error, despite the fact that neither of these are methods that exist on cached_property.
I discovered this while looking at permutations of property-like behavior for python/typeshed#13276.
Actually, I realized just now that it can be anything from any of the property types. See the second playground link.
tungol
changed the title
Mypy doesn't object to doing things with cached_property that don't work
Mypy doesn't object to property methods that don't exist
Dec 22, 2024
Bug Report
Mypy includes
functools.cached_property
on it's list of property-list types, but considers it to be too identical to property. It allows the use ofcached_property.setter
andcached_property.deleter
without raising an error, despite the fact that neither of these are methods that exist oncached_property
.I discovered this while looking at permutations of property-like behavior for python/typeshed#13276.
Actually, I realized just now that it can be anything from any of the property types. See the second playground link.
To Reproduce
Playground link showing : https://mypy-play.net/?mypy=latest&python=3.12&gist=f5336c7a8df8f028a565bab576b74062
This one shows that mypy doesn't object to non-existent methods of property used as a decorator:
https://mypy-play.net/?mypy=latest&python=3.12&gist=d91764177a604ba5640a1fe741718f52
Expected Behavior
I expect mypy to generate errors for methods that don't exist in the stubs, even with the special-cased behavior.
Actual Behavior
No errors are generated.
The text was updated successfully, but these errors were encountered: