Closed
Description
The documentation does not mention that this is possible, but if the object passed in is not a heap type it returns NULL
without setting an exception:
PyObject *
PyType_GetModuleByDef(PyTypeObject *type, PyModuleDef *def)
{
assert(PyType_Check(type));
if (!_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE)) {
// type_ready_mro() ensures that no heap type is
// contained in a static type MRO.
return NULL;
}
...
}
CC @ericsnowcurrently @encukou .