Jørgen P. Tjernø wrote:
> cdef class Album
> 
> cdef class SessionStruct:
>      cdef Album _create_album(self, album* album, bint take_owner=?)
> 
> cdef class Album(SessionStruct):
>      pass

This is some unusual code. Letting a superclass know its subtypes is rarely
a good design.

Anyway, I consider it a bug that it doesn't raise an error because of the
missing base class in the pre-declaration.

http://trac.cython.org/cython_trac/ticket/262

It should be declared like this:

    cdef class SessionStruct
    cdef class Album(SessionStruct)

    cdef class SessionStruct:
         cdef Album _create_album(self, album* album, bint take_owner=?)

    cdef class Album(SessionStruct):
         pass

Stefan
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to