Commit 885e1939 authored by Barry Warsaw's avatar Barry Warsaw

Issue #22995: [UPDATE] Comment out the one of the pickleability tests in

_PyObject_GetState() due to regressions observed in Cython-based projects.
parent b4b8a0ef
...@@ -10,6 +10,9 @@ Release date: tba ...@@ -10,6 +10,9 @@ Release date: tba
Core and Builtins 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 #25961: Disallowed null characters in the type name.
- Issue #25973: Fix segfault when an invalid nonlocal statement binds a name - Issue #25973: Fix segfault when an invalid nonlocal statement binds a name
......
...@@ -3866,6 +3866,14 @@ _PyObject_GetState(PyObject *obj, int required) ...@@ -3866,6 +3866,14 @@ _PyObject_GetState(PyObject *obj, int required)
} }
assert(slotnames == Py_None || PyList_Check(slotnames)); 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) { if (required) {
Py_ssize_t basicsize = PyBaseObject_Type.tp_basicsize; Py_ssize_t basicsize = PyBaseObject_Type.tp_basicsize;
if (obj->ob_type->tp_dictoffset) if (obj->ob_type->tp_dictoffset)
...@@ -3883,6 +3891,7 @@ _PyObject_GetState(PyObject *obj, int required) ...@@ -3883,6 +3891,7 @@ _PyObject_GetState(PyObject *obj, int required)
return NULL; return NULL;
} }
} }
#endif
if (slotnames != Py_None && Py_SIZE(slotnames) > 0) { if (slotnames != Py_None && Py_SIZE(slotnames) > 0) {
PyObject *slots; PyObject *slots;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment