Terry J. Reedy added the comment: I verified that <type 'instancemethod'> is used in 2.7 for both unbound and bound methods of both old- and new-style classes. In 3.0, old-style classes and unbound methods were removed. 2.x types seem not to have __bool__, so I suspect that the condition code special cases numbers and then checks for len() or == None. I am guessing that instancemethod is specially flagged. But grepping 'furture versions' in 2.7/*.c and *.h got not hits, so I cannot confirm anything. I have no idea where the if/elif/while check are coded.
The important question to me is whether the fix works for you also. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21654> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com