You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There seems to be a problem in the way that cython checks for declarations of cpdef overrides of cdef methods. It seems that this is related to the feature introduced in #545.
Consider the following base.pxd, base.pyx, and bug.pyx:
Calling bug.call() prints B.a(). Enabling the #cpdef a(self) fixes the problem, and it prints C.c() as expected.
The problem here is that without the cpdef, the vtable used by bug.pyx is missing the entry for B.a.
To solve this problem, one would probably just have to add a check to Cython so it requires cpdef overrides of cdef methods to be declared in their .pxd files.
The text was updated successfully, but these errors were encountered:
There seems to be a problem in the way that cython checks for declarations of
cpdef
overrides ofcdef
methods. It seems that this is related to the feature introduced in #545.Consider the following
base.pxd
,base.pyx
, andbug.pyx
:Calling
bug.call()
printsB.a()
. Enabling the#cpdef a(self)
fixes the problem, and it printsC.c()
as expected.The problem here is that without the
cpdef
, the vtable used bybug.pyx
is missing the entry forB.a
.To solve this problem, one would probably just have to add a check to Cython so it requires
cpdef
overrides ofcdef
methods to be declared in their.pxd
files.The text was updated successfully, but these errors were encountered: