Terry J. Reedy added the comment: More data:
class myit(list): def __bytes__(self): return b'hello' print (bytes(b'a')) class myit(list): def __bytes__(self): return b'hello' print (bytearray (myit([1,2,3]))) # bytearray(b'a') # bytearray(b'\x01\x02\x03') class by: def __bytes__(self): return b'hello' # TypeError: 'by' object is not iterable (Error message is incomplete.) So bytearray *always* treats objects as specified in its library entry and never calls __bytes__, making its value sometimes unequal as a sequence of bytes from bytes with the same input. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue17309> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com