Open
Description
Currently Py_TPFLAGS_MANAGED_DICT
is an internal-only flag, in fact setting in third-party code is likely to lead to a crash.
We would like to expose it, and a weakref equivalent Py_TPFLAGS_MANAGED_WEAKREFS
to allow builtin classes to take advantage of compact object layout.
Compact layout uses less memory, performs better and allow more robust subclassing. So everyone should be able to use it.
- Fix crashes when
Py_TPFLAGS_MANAGED_DICT
is used - Add
Py_TPFLAGS_MANAGED_WEAKREFS
- Document how to use these flags, and the upgrade path from
tp_dictoffset
andtp_weakreflist