Raymond Hettinger <raymond.hettin...@gmail.com> added the comment:
It looks like it should be: if hasattr(type(self.f), "__get__"): Here's the relevant C code: static PyObject * cm_descr_get(PyObject *self, PyObject *obj, PyObject *type) { classmethod *cm = (classmethod *)self; if (cm->cm_callable == NULL) { PyErr_SetString(PyExc_RuntimeError, "uninitialized classmethod object"); return NULL; } if (type == NULL) type = (PyObject *)(Py_TYPE(obj)); if (Py_TYPE(cm->cm_callable)->tp_descr_get != NULL) { return Py_TYPE(cm->cm_callable)->tp_descr_get(cm->cm_callable, type, NULL); } return PyMethod_New(cm->cm_callable, type); } ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43917> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com