
On Thu, 14 Apr 2011 08:15:10 -0500 Benjamin Peterson <benjamin@python.org> wrote:
2011/4/14 Ricardo Kirkner <ricardokirkner@gmail.com>:
Hi all,
I recently stumbled upon an issue with a class in the mro chain not calling super, therefore breaking the chain (ie, further base classes along the chain didn't get called). I understand it is currently a requirement that all classes that are part of the mro chain behave and always call super. My question is, shouldn't/wouldn't it be better, if python took ownership of that part, and ensured all classes get called, even if some class misbehaved?
For example, if using a stack-like structure, pushing super calls and popping until the stack was empty, couldn't this restriction be removed?
No. See line 2 of the Zen of Python.
You could have quoted it explicitly :) FWIW, line 2 is: Explicit is better than implicit. Regards Antoine.