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

Reply via email to