@cython.no_gc_clear
cdef class NoClearParent:
...
cdef class Child(NoClearParent):
...
This fails to C-compile because the child has a tp_clear() implementation that calls the parent class function, but that is not defined.
I think the right thing to do would be to simply not generate the call to the parent class function in tp_clear() (see ModuleNode.py) if the parent has no_gc_clear set.