On Thu, Mar 29, 2018 at 11:28 PM, Steven D'Aprano <st...@pearwood.info> wrote: > On Wed, Mar 28, 2018 at 06:27:19PM +0300, Serhiy Storchaka wrote: > >> The optimizer already changes >> semantic. Non-optimized "if a and True:" would call bool(a) twice, but >> optimized code calls it only once. > > I don't understand this. Why would bool(a) be called twice, and when did > this change? Surely calling it twice would be a bug. > > I just tried the oldest Python 3 I have on this computer, 3.2, and bool > is only called once.
Technically not bool() itself, but the equivalent. Here's some similar code: _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com