mirror of
https://github.com/python/cpython.git
synced 2025-08-22 09:45:06 +00:00
gh-101266: Fix __sizeof__ for subclasses of int (#101394)
Fix the behaviour of the `__sizeof__` method (and hence the results returned by `sys.getsizeof`) for subclasses of `int`. Previously, `int` subclasses gave identical results to the `int` base class, ignoring the presence of the instance dictionary. <!-- gh-issue-number: gh-101266 --> * Issue: gh-101266 <!-- /gh-issue-number -->
This commit is contained in:
parent
9b60ee976a
commit
39017e04b5
4 changed files with 48 additions and 9 deletions
|
@ -4,6 +4,8 @@
|
|||
#include "pycore_object.h" // _Py_FatalRefcountError()
|
||||
#include "pycore_runtime.h" // _Py_ID()
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
/* We define bool_repr to return "False" or "True" */
|
||||
|
||||
static PyObject *
|
||||
|
@ -153,8 +155,8 @@ bool_dealloc(PyObject* Py_UNUSED(ignore))
|
|||
PyTypeObject PyBool_Type = {
|
||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||
"bool",
|
||||
sizeof(struct _longobject),
|
||||
0,
|
||||
offsetof(struct _longobject, long_value.ob_digit), /* tp_basicsize */
|
||||
sizeof(digit), /* tp_itemsize */
|
||||
bool_dealloc, /* tp_dealloc */
|
||||
0, /* tp_vectorcall_offset */
|
||||
0, /* tp_getattr */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue