Nick Coghlan added the comment: I believe it's just a matter of pattern of use - applying staticmethod outside a class (or retrieving the descriptor directly from the dict, bypassing the descriptor protocol), so nobody every noticed.
Ditto for the C wrapper vs the Python wrapper for a classmethod - it's really rare to access those without going through the descriptor machinery, so it's likely just an accident of implementation that one of them isn't callable. I don't see any specific reason for them to be non-callable - I suspect it's just a case of never adding the code to make it happen. ---------- title: Not all descriptors are callable -> Class method descriptors are different between builtin and user classes _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20309> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com