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 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. [Edit: this part fixed by #19313]
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 [Edit: this part fixed by #19313]
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.
Bug Report
Mypy includes
functools.cached_propertyon it's list of property-list types, but considers it to be too identical to property. It allows the use ofcached_property.setterandcached_property.deleterwithout 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.[Edit: this part fixed by #19313]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[Edit: this part fixed by #19313]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.