Avatar for the RustPython user
RustPython
RustPython
BlogDocsChangelog

Performance History

Latest Results

Convert an `__index__` key before refusing item assignment or deletion (#9516) * Convert an index key before refusing item assignment When a type has a sequence table but no ass_item slot, such as tuple, bytes, str or any heap type, item assignment and deletion raised TypeError without looking at the key. An index key is converted first, so an exception from its __index__ propagates and an int too large for an index raises IndexError. Only then is the operation refused. Do that conversion in set_item() and del_item(). Deletion keeps the "doesn't support" wording for index keys only, and uses "does not support" for any other key. Assisted-by: Claude Code:claude-opus-5-5 * Read the type name after converting the deletion key del_item() held the read guard on a heap type's name while the key's __index__ ran, so an __index__ that assigned the type's __name__ deadlocked a threaded build. Convert the key first and read the name afterwards, which also names the renamed type as CPython does. Keep the snippet's original docstring. Assisted-by: Claude Code:claude-opus-5-5
main
6 hours ago

Latest Branches

CodSpeed Performance Gauge
0%
Support max_threads in explicit faulthandler dumps#9522
10 hours ago
47bebd5
youknowdot:upgrade/faulthandler-explicit-cap-20261101
CodSpeed Performance Gauge
0%
Report a missing argument before converting any#9513
10 hours ago
8d1f219
jseop-lim:fix/bind-missing-argument
CodSpeed Performance Gauge
0%
10 hours ago
89fc098
youknowdot:upgrade/bytearray-resize-zero-20261101
© 2026 CodSpeed Technology
Home Terms Privacy Docs