On Wednesday, 9 January 2013 at 21:30:32 UTC, H. S. Teoh wrote:
Because I forgot to declare 'a', I end up overwriting a base class member which I didn't intend to change. Not good. (Furthermore, if the class hierarchy is big, I may not find out about this until much later
-- I may not even be aware that some superclass declares 'a'.)


T

At least this will be consistent behaviour. If it is an error, then a perfectly fine code now will stop compiling after someone (evil person!) adds a protected member 'i' to one of the super-super-super classes. Now not only my loop will stop to compile, but the inheritance will have the nice side effect of not allowing to use i for iteration in __any__ method.
Of course, this is an extreme example, but valid.

Reply via email to