On Wed, Jul 30, 2008 at 5:39 PM, Stefan Behnel <[EMAIL PROTECTED]> wrote:
>
> The original patch made a test case fail, the attached patch works better (not
> sure why this is required, though).

Of Course! Your version then works even in this case below, where the
class first introducing a vtable is in turn inheriting from a cdef
class without cdef methods (that the reason why your modification is
required!):

cdef class Base0:
    pass

cdef class Base(Base0):
    pass

cdef class Foo(Base):
   cdef fooit(self):
       return 0

cdef class Bar(Foo):
   pass

cdef class Bam(Bar):
   pass

cdef class Zoo(Bam):
   pass


Your patch then generate the right code for the case above.


>
>> Even with the patch, the end-result seems a bit strange:
>>
>> I.e. on vtable generation it seems to skip its immediate ancestor.
>
> It still seems to be the right thing to do. Maybe Greg can enlighten us here.
>

I agree with you, Stefan. Let's wait for Greeg to comment on this...



-- 
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to