Looking at
|
/* Padding to ensure that PyUnicode_DATA() is always aligned to |
|
4 bytes (see issue #19537 on m68k). */ |
|
unsigned int :25; |
I believe the bitfield is intended to have 32 bits, however summing the fields 1 + 3 + 1 + 1 + 25 = 31.
This only appears to affect 3.12, as the interned field has reduced from 2 bits to 1 bit, and the ready bit has been removed, but the padding was only increased from 24 to 25.
Linked PRs
Looking at
cpython/Include/cpython/unicodeobject.h
Lines 136 to 138 in d4cf192
I believe the bitfield is intended to have 32 bits, however summing the fields 1 + 3 + 1 + 1 + 25 = 31.
This only appears to affect 3.12, as the
internedfield has reduced from 2 bits to 1 bit, and thereadybit has been removed, but the padding was only increased from 24 to 25.Linked PRs
PyASCIIObject.state#99707