As per further discussion, re-enable the typeobject.c guard for picklability.

upstreams such as Cython will have to adjust.
This commit is contained in:
Barry Warsaw 2016-01-11 15:51:27 -05:00
commit 3d220cc4d7
2 changed files with 0 additions and 12 deletions

View File

@ -10,9 +10,6 @@ Release date: tba
Core and Builtins
-----------------
- Issue #22995: [UPDATE] Comment out the one of the pickleability tests in
_PyObject_GetState() due to regressions observed in Cython-based projects.
- Issue #25961: Disallowed null characters in the type name.
- Issue #25973: Fix segfault when an invalid nonlocal statement binds a name

View File

@ -3872,14 +3872,6 @@ _PyObject_GetState(PyObject *obj, int required)
}
assert(slotnames == Py_None || PyList_Check(slotnames));
#if 0
/* 2016-01-11 barry - This clause breaks at least three packages which
rely on Cython: kivy, pysam, and s3ql. Cython may be doing
something funny under the hood, but as this is clearly a regression
and the rationale for this prohibition is suspect, I am commenting
this out. Perhaps it should just be removed. See issue #22995 for
details.
*/
if (required) {
Py_ssize_t basicsize = PyBaseObject_Type.tp_basicsize;
if (obj->ob_type->tp_dictoffset)
@ -3897,7 +3889,6 @@ _PyObject_GetState(PyObject *obj, int required)
return NULL;
}
}
#endif
if (slotnames != Py_None && Py_SIZE(slotnames) > 0) {
PyObject *slots;