bpo-36922: implement PEP-590 Py_TPFLAGS_METHOD_DESCRIPTOR (GH-13338)
Co-authored-by: Mark Shannon <mark@hotpy.org>
diff --git a/Objects/object.c b/Objects/object.c
index 270716f..87dba98 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1155,8 +1155,7 @@
descr = _PyType_Lookup(tp, name);
if (descr != NULL) {
Py_INCREF(descr);
- if (PyFunction_Check(descr) ||
- (Py_TYPE(descr) == &PyMethodDescr_Type)) {
+ if (PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) {
meth_found = 1;
} else {
f = descr->ob_type->tp_descr_get;