New GitHub issue #96418 from twoone-3:<br>
<hr>
<pre>
typeobject.c
```c
/* Set type.__module__ */
r = _PyDict_ContainsId(type->tp_dict, &PyId___module__);
if (r < 0) {
goto fail;
}
if (r == 0) {
s = strrchr(spec->name, '.');
if (s != NULL) {
modname = PyUnicode_FromStringAndSize(
spec->name, (Py_ssize_t)(s - spec->name));
if (modname == NULL) {
goto fail;
}
r = _PyDict_SetItemId(type->tp_dict, &PyId___module__, modname);
Py_DECREF(modname);
if (r != 0)
goto fail;
} else {
if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
"builtin type %.200s has no __module__ attribute",
spec->name))
goto fail;
}
}
```
[https://docs.python.org/3/c-api/typeobj.html#c.PyTypeObject.tp_name](docs)
Dynamic types are still checkpointed and the document does not match the code
</pre>
<hr>
<a href="https://github.com/python/cpython/issues/96418">View on GitHub</a>
<p>Labels: type-bug</p>
<p>Assignee: </p>