Control: tags -1 - patch
That's not the problem: cdef classes _can_ have non-cdef class (not
instance) attributes. https://github.com/cython/cython/issues/3154
On further inspection, the actual problem is that we have a Timedelta
(full Python class, has a dict) allocated in a memory space sized for
its parent _Timedelta (cdef class, no dict).
I don't know how this happened: the _Timedelta C struct is only created
via its tp_new, which is passed the subclass (the standard Python
mechanism for allowing subclasses to be larger in memory than their
parent class -
https://docs.python.org/3/c-api/typeobj.html#c.PyTypeObject.tp_new).