diff -ruN a/python/enum.c b/python/enum.c --- a/python/enum.c 2021-02-14 17:03:07.000000000 +0100 +++ b/python/enum.c 2023-04-06 20:43:21.153825509 +0200 @@ -52,7 +52,11 @@ /* we assume the "fast path" for a single-digit ints (see longobject.c) */ /* this also holds if we get a small_int preallocated long */ +#if PY_VERSION_HEX >= 0x030900A4 + Py_SET_SIZE(&self->val, Py_SIZE(longval)); +#else Py_SIZE(&self->val) = Py_SIZE(longval); +#endif self->val.ob_digit[0] = longval->ob_digit[0]; Py_DECREF(longval); #else @@ -143,7 +147,11 @@ /* we assume the "fast path" for a single-digit ints (see longobject.c) */ /* this also holds if we get a small_int preallocated long */ +#if PY_VERSION_HEX >= 0x030900A4 + Py_SET_SIZE(&self->val, Py_SIZE(longval)); +#else Py_SIZE(&self->val) = Py_SIZE(longval); +#endif self->val.ob_digit[0] = longval->ob_digit[0]; Py_DECREF(longval);