[Cython] PEP 3135 -- New Super
markflorisson88 at gmail.com
Tue Jul 12 12:11:00 CEST 2011
On 12 July 2011 11:46, Vitja Makarov <vitja.makarov at gmail.com> wrote:
> 2011/7/12 Stefan Behnel <stefan_ml at behnel.de>
>> Vitja Makarov, 12.07.2011 09:46:
>>> About cdef classes: probably it's better to
>>> transform super().method(...) into direct form, e.g. BaseClass.method(self,
>> Except when it doesn't work. ;)
>> / \
>> B C
>> \ /
>> The MRO here is D-B-A-C. If C unconditionally calls A.method(), A's implementation will be called twice, as it was already called by B.
> According to your link mro in the example is DBCA ;)
> Is that a problem for cdef classes? Cdef class have only one base, isn't it?
That is irrelevant, if B calls A's method then C's method will be
skipped. If it would use super() it would call C's method, and C's
method would call A's method.
> cython-devel mailing list
> cython-devel at python.org
More information about the cython-devel