diff -r a5acd7ca8727 Objects/object.c --- a/Objects/object.c Tue Apr 12 07:52:22 2016 +0200 +++ b/Objects/object.c Wed Apr 13 10:29:40 2016 +0800 @@ -1143,10 +1143,9 @@ descr = _PyType_Lookup(tp, name); Py_XINCREF(descr); - f = NULL; if (descr != NULL) { f = descr->ob_type->tp_descr_set; - if (f != NULL && PyDescr_IsData(descr)) { + if (f != NULL) { res = f(descr, obj, value); goto done; } @@ -1173,11 +1172,6 @@ goto done; } - if (f != NULL) { - res = f(descr, obj, value); - goto done; - } - if (descr == NULL) { PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%U'",