We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3b5f12b commit 09f829bCopy full SHA for 09f829b
Objects/typeobject.c
@@ -5297,12 +5297,11 @@ get_base_by_token_recursive(PyTypeObject *type, void *token)
5297
Py_ssize_t n = PyTuple_GET_SIZE(bases);
5298
for (Py_ssize_t i = 0; i < n; i++) {
5299
PyTypeObject *base = _PyType_CAST(PyTuple_GET_ITEM(bases, i));
5300
- if (!_PyType_HasFeature(base, Py_TPFLAGS_HEAPTYPE)) {
5301
- continue;
5302
- }
5303
- if (((PyHeapTypeObject*)base)->ht_token == token) {
+ // The MRO version can slow down if this takes the same approach
+ if (PyType_GetSlot(base, Py_tp_token) == token) {
5304
return base;
5305
}
+ assert(!PyErr_Occurred());
5306
base = get_base_by_token_recursive(base, token);
5307
if (base != NULL) {
5308
0 commit comments