New submission from Oren Milman: currently (on my Windows 10): >>> bytes(-1 << 1000) Traceback (most recent call last): File "<stdin>", line 1, in <module> OverflowError: cannot fit 'int' into an index-sized integer >>> bytes(-1) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: negative count >>> bytes(sys.maxsize + 1) Traceback (most recent call last): File "<stdin>", line 1, in <module> OverflowError: cannot fit 'int' into an index-sized integer
for the same size arguments, bytearray raises the same errors. thus, in accordance with #29833 (this is a sub-issue of #29833) for each of the constructors of bytes and bytearray: 1. ValueErrors with the same error message should be raised for any negative size argument (big negative as well as small negative). 2. MemoryError should be raised for any size argument bigger than sys.maxsize. Moreover, currently: >>> bytes(sys.maxsize - 25) Traceback (most recent call last): File "<stdin>", line 1, in <module> MemoryError >>> bytes(sys.maxsize - 24) Traceback (most recent call last): File "<stdin>", line 1, in <module> OverflowError: byte string is too large >>> bytes(sys.maxsize) Traceback (most recent call last): File "<stdin>", line 1, in <module> OverflowError: byte string is too large for each of these size arguments, bytearray raises a MemoryError. IMHO, to make the error messages more consistent, the constructor of bytes should raise a MemoryError for any too large size argument, as the constructor of bytearray already does. ---------- components: Interpreter Core messages: 289783 nosy: Oren Milman, serhiy.storchaka priority: normal severity: normal status: open title: errors raised by bytes and bytearray constructors for invalid size argument type: enhancement versions: Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue29841> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com