On 2016-06-21 08:17, Jeroen Demeyer wrote:
But hang on, are you sure that this works? The C functions for cdef and
cpdef functions have a different signature: cpdef functions have a
__pyx_skip_dispatch argument while cdef functions don't have such an
argument.
Answering my own question, it seems that Cython uses different vtab
entries for the cdef and cpdef functions, where the cdef one calls the
cpdef one with __pyx_skip_dispatch=0.
The only difference with my proposal is that the cdef method cannot
automatically be overridden by a def method. But that can be solved by
cdef class MyClass(object):
cdef foo(self):
return (<object>self).foo()
So this overriding of cdef methods by cpdef methods might completely
solve my use case. Thanks!
_______________________________________________
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel