Dear allI found a BUG in the standard while statement, which appears both in python 2.7 and python 3.4 on my system.It usually won't appear because I only stumbled upon it after trying to implement a nice repeat structure. Look:```class repeat(object):
def __init__(self, n):
self.n = n
def __bool__(self):
self.n -= 1
return self.n >= 0
__nonzero__=__bool__a = repeat(2)```the meaning of the above is that bool(a) returns True 2-times, and after that always False.Now executing```while a:print('foo')```will in fact print 'foo' two times. HOWEVER ;-) ....```while repeat(2):print('foo')```will go on and go on, printing 'foo' until I kill it.Please comment, explain or recommend this further if you also think that both while statements should behave identically.hoping for responses,best,Stephan
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/