On 15/04/2011 02:02, Greg Ewing wrote:
Michael Foord wrote:
What I was suggesting is that a method not calling super shouldn't stop a *sibling* method being called, but could still prevent the *parent* method being called.

There isn't necessarily a clear distinction between parents
and siblings.

class A:
  ...

class B(A):
  ...

class C(A, B):
  ...

In C, is A a parent of B or a sibling of B?

For a super call in C, B is a sibling to A. For a super call in B, A is a parent.

With the semantics I was suggesting if C calls super, but A doesn't then B would still get called.

All the best,

Michael

--
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to