]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Yashraj [Mon, 12 Jan 2026 12:59:59 +0000 (18:29 +0530)]
gh-141004: Document PyUnicode_IS_COMPACT and PyUnicode_IS_COMPACT_ASCII macros (GH-143494)
Guo Ci [Mon, 12 Jan 2026 11:34:18 +0000 (06:34 -0500)]
gh-140806: add docs for `enum.bin` function (#140807)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Inada Naoki [Mon, 12 Jan 2026 11:21:23 +0000 (20:21 +0900)]
gh-143189: fix insertdict() for non-Unicode key (#143285)
Petr Viktorin [Mon, 12 Jan 2026 11:21:14 +0000 (12:21 +0100)]
gh-143578: Restore note about patchlevel.h (#143596)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Serhiy Storchaka [Mon, 12 Jan 2026 09:49:18 +0000 (11:49 +0200)]
gh-142306: Improve errors for Element.remove() (GH-142308)
* Raise TypeError for non-element argument in the Python implementation
too.
* Include the repr of the elements in the ValueError error message.
Serhiy Storchaka [Mon, 12 Jan 2026 08:45:10 +0000 (10:45 +0200)]
gh-142881: Fix concurrent and reentrant call of atexit.unregister() (GH-142901)
Serhiy Storchaka [Mon, 12 Jan 2026 08:40:06 +0000 (10:40 +0200)]
gh-143346: Fix calculation of the line width for wrapped Base64 in plistlib (GH-143347)
It was incorrect in case of mixed tabs and spaces in indentation.
Ken Jin [Sun, 11 Jan 2026 20:42:55 +0000 (04:42 +0800)]
gh-134584: JIT: Remove redundant refcounting for UNARY_{INVERT|NEGATIVE} (GH-143704)
Bartosz Sławecki [Sun, 11 Jan 2026 19:36:47 +0000 (20:36 +0100)]
gh-142972: Document arbitrary ordering in `Path.glob` and `Path.rglob` (GH-143025)
James Hilton-Balfe [Sun, 11 Jan 2026 19:27:24 +0000 (19:27 +0000)]
gh-128335: Make slice generic at runtime (#128336)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Bartosz Sławecki [Sun, 11 Jan 2026 19:24:19 +0000 (20:24 +0100)]
gh-127750: Fix annotations in singledispatchmethod signature tests (GH-143571)
These tests relied on a bug -- gh-84644, which is that singledispatch
doesn't verify the annotation is on the "first" parameter.
Ken Jin [Sun, 11 Jan 2026 18:55:05 +0000 (02:55 +0800)]
gh-139038: Update JIT perf figures for 3.14a4 (GH-143705)
Sergey B Kirpichev [Sun, 11 Jan 2026 17:17:47 +0000 (20:17 +0300)]
gh-143420: Clarify sequence behavior for slice indexes (#143422)
AN Long [Sun, 11 Jan 2026 15:53:25 +0000 (00:53 +0900)]
gh-86139: Correct NamedTuple and TypedDict's type in typing.rst (#143692)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Sergey B Kirpichev [Sun, 11 Jan 2026 15:52:01 +0000 (18:52 +0300)]
gh-78724: Raise RuntimeError's when calling methods on non-ready Struct()'s (GH-143643)
Serhiy Storchaka [Sun, 11 Jan 2026 12:01:13 +0000 (14:01 +0200)]
gh-143638: Forbid cuncurrent use of the Pickler and Unpickler objects in C implementation (GH-143664)
Previously, this could cause crash or data corruption, now concurrent calls
of methods of the same object raise RuntimeError.
Manuel Jacob [Sun, 11 Jan 2026 07:27:11 +0000 (08:27 +0100)]
Remove outdated comment about `excess_args` warning in `object.__init__` (#143669)
The code emitting a warning was removed in
96384b93aae1d1e45dda21c4024d7d083c91626d .
Raymond Hettinger [Sun, 11 Jan 2026 04:00:13 +0000 (22:00 -0600)]
Sync the batched() example with the grouper() example. (gh-143676)
Raymond Hettinger [Sun, 11 Jan 2026 01:47:27 +0000 (19:47 -0600)]
Add derangements() recipe (gh-143671)
emmanuel [Sat, 10 Jan 2026 13:34:30 +0000 (22:34 +0900)]
Doc: remove duplicate GitHub issue reference in "What's New in Python 3.13" (#143654)
Bénédikt Tran [Sat, 10 Jan 2026 11:37:54 +0000 (12:37 +0100)]
gh-143377: fix crashes in `_interpreters.capture_exception` (#143418)
Nadeshiko Manju [Sat, 10 Jan 2026 11:15:48 +0000 (19:15 +0800)]
gh-143604: Hold strong reference to executor during JIT tracing (GH-143646)
Co-authored-by: Ken Jin <kenjin4096@gmail.com>
Jeong, YunWon [Sat, 10 Jan 2026 09:51:42 +0000 (18:51 +0900)]
gh-143641: Make `ready_to_import` always remove tempdir from `sys.path` (#143642)
Make ready_to_import always remove tempdir from sys.path
Heikki Toivonen [Sat, 10 Jan 2026 06:17:57 +0000 (22:17 -0800)]
gh-143586: Add Counter comparison tests to enforce missing element semantics (gh-143587)
Ken Jin [Fri, 9 Jan 2026 23:18:22 +0000 (07:18 +0800)]
gh-142764: Restore REPLACE_OPCODE_IF_EVALUATES_PURE optimization for some ops (GH-143335)
Ken Jin [Fri, 9 Jan 2026 19:00:49 +0000 (03:00 +0800)]
gh-143421: Allocate all JIT state in one go (GH-143626)
Petr Viktorin [Fri, 9 Jan 2026 17:40:07 +0000 (18:40 +0100)]
gh-141004: Document remaining constants from patchlevel.h (GH-143598)
Co-authored-by: Victor Stinner <vstinner@python.org>
Semyon Moroz [Fri, 9 Jan 2026 17:06:54 +0000 (17:06 +0000)]
gh-136438: Make sure `test_interpreters` pass with all optimization levels (GH-136499)
Serhiy Storchaka [Fri, 9 Jan 2026 17:06:45 +0000 (19:06 +0200)]
gh-143006: Fix and optimize mixed comparison of float and int (GH-143084)
When comparing negative non-integer float and int with the same number
of bits in the integer part, __neg__() in the int subclass returning
not an int caused an assertion error.
Now the integer is no longer negated. Also, reduced the number of
temporary created Python objects.
Ken Jin [Fri, 9 Jan 2026 16:56:19 +0000 (00:56 +0800)]
gh-143421: Lazily allocate tracer code and opt buffers (GH-143597)
Jan André Reuter [Fri, 9 Jan 2026 16:11:37 +0000 (17:11 +0100)]
gh-143460: Skip infinite recusion tests for infinite stack size (#143606)
Avoid tests being killed due to OOM on Linux if a system is configured with
'ulimit -s unlimited' by skipping tests relying on infinite recursion.
While unclear if Python should support 'ulimit -s unlimited', we should at
least try to avoid failing a PGO build running tests due to an unlimited
stack size being set.
Signed-off-by: Jan André Reuter <j.reuter@fz-juelich.de>
Adorilson Bezerra [Fri, 9 Jan 2026 15:24:31 +0000 (15:24 +0000)]
gh-106318: Add examples for str.rfind() method (#143582)
Adorilson Bezerra [Fri, 9 Jan 2026 15:22:50 +0000 (15:22 +0000)]
gh-106318: Improve str.removeprefix() and str.removesuffix() docs (#143580)
Add doctest role and 'See also'.
Victor Stinner [Fri, 9 Jan 2026 15:08:40 +0000 (16:08 +0100)]
gh-143191: Use _PyOS_MIN_STACK_SIZE in _thread.stack_size() (#143601)
The stack size must be at least _PyOS_MIN_STACK_SIZE+SYSTEM_PAGE_SIZE
bytes.
A.Ibrahim [Fri, 9 Jan 2026 12:27:34 +0000 (13:27 +0100)]
gh-142829: Fix use-after-free in `Context.__eq__` via re-entrant `ContextVar.set` (#142905)
AN Long [Fri, 9 Jan 2026 12:18:32 +0000 (21:18 +0900)]
gh-72239: Add note distinguishing concurrent.futures.Future from asyncio.Future (#143288)
Victor Stinner [Fri, 9 Jan 2026 12:16:22 +0000 (13:16 +0100)]
gh-143547: Fix PyErr_FormatUnraisable() fallback (#143557)
Hold a strong reference to 'hook' while calling the default
unraisable took to log hook failure.
Fix test_sys.UnraisableHookTest: use the right decorator function to
disable colors. Previously, tests were always skipped.
zhong [Fri, 9 Jan 2026 11:50:56 +0000 (03:50 -0800)]
gh-143378: Fix use-after-free when BytesIO is concurrently mutated during write operations (GH-143408)
PyObject_GetBuffer() can execute user code (e.g. via __buffer__), which may
close or otherwise mutate a BytesIO object while write() or writelines()
is in progress. This could invalidate the internal buffer and lead to a
use-after-free.
Ensure that PyObject_GetBuffer() is called before validation checks.
Henry Chen [Fri, 9 Jan 2026 10:46:48 +0000 (18:46 +0800)]
gh-143429: Use compile-time NaN encoding detection for test_struct (#143432)
Petr Viktorin [Fri, 9 Jan 2026 10:16:50 +0000 (11:16 +0100)]
gh-141004: Improve `make check-c-api-docs` (GH-143564)
- Gather all documented names into a set in a single pass.
This makes the check much faster.
- Do not match substrings (e.g. documenting `PyErr_WarnEx`
doesn't mean that `PyErr_Warn` is documented)
- Consider `PY`-prefixed names (a lot of old macros use this)
Yongtao Huang [Fri, 9 Jan 2026 08:49:54 +0000 (16:49 +0800)]
Test: remove unintended unittest.main() in live collector tests (#143590)
Adorilson Bezerra [Fri, 9 Jan 2026 08:01:00 +0000 (08:01 +0000)]
gh-106318: Add examples for str.replace() method (GH-143581)
Savannah Ostrowski [Fri, 9 Jan 2026 00:32:05 +0000 (16:32 -0800)]
GH-43374: Fix urlretrieve reporthook to report actual bytes read (#142653)
Brett Cannon [Thu, 8 Jan 2026 22:08:03 +0000 (14:08 -0800)]
GH-139686: Revert "gh-139686: Make reloading a lazy module no-op (GH-139857)" (#143584)
This reverts commits
57db12514ac686f0a752ec8fe1c08b6daa0c6219 and
0a97941245f1dda6d838f9aaf0512104e5253929 .
Russell Keith-Magee [Thu, 8 Jan 2026 21:47:38 +0000 (05:47 +0800)]
Add Emscripten test skips for recently added tests. (#143551)
Some recent changes introduced tests that can't run on Emscripten.
This change adds test skips for those tests.
Sam Gross [Thu, 8 Jan 2026 19:45:54 +0000 (14:45 -0500)]
gh-120321: Make gen.gi_frame.clear() thread-safe (gh-143112)
Hai Zhu [Thu, 8 Jan 2026 19:38:21 +0000 (03:38 +0800)]
gh-143421: Move `JitOptContext` from stack allocation to per-thread heap allocation (GH-143536)
* move JitOptContext to _PyThreadStateImpl
* make _PyUOpInstruction buffer a part of _PyThreadStateImpl
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Heikki Toivonen [Thu, 8 Jan 2026 15:28:02 +0000 (07:28 -0800)]
gh-143445: Optimize deepcopy for 1.04x speedup (#143449)
Gains according to pyperformance:
```
deepcopy:
Mean +- std dev: 411 us +- 2 us -> 396 us +- 3 us: 1.04x faster
Significant (t=28.94)
deepcopy_reduce:
Mean +- std dev: 4.38 us +- 0.05 us -> 4.23 us +- 0.04 us: 1.04x faster
Significant (t=20.05)
```
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Sam Gross [Thu, 8 Jan 2026 14:32:20 +0000 (09:32 -0500)]
gh-142908: Don't use `DK_IS_UNICODE` in interpreter (gh-142909)
`DK_IS_UNICODE()` includes split keys and we don't want to specialize on
those accesses..
Sam Gross [Thu, 8 Jan 2026 14:18:24 +0000 (09:18 -0500)]
gh-142095: Use thread local frame info in `py-bt` and `py-bt-full` when available (gh-143371)
In optimized and `-Og` builds, arguments and local variables are frequently
unavailable in gdb. This makes `py-bt` fail to print anything useful. Use the
`PyThreadState*` pointers `_Py_tss_gilstate` and `Py_tss_tstate` to find the
interpreter frame if we can't get the frame from the
`_PyEval_EvalFrameDefault` call.
Co-authored-by: Victor Stinner <vstinner@python.org>
Alex Willmer [Thu, 8 Jan 2026 13:40:17 +0000 (13:40 +0000)]
gh-143513: Clarify changed argument name of `ResourceReader.is_resource` (GH-143523)
Victor Stinner [Thu, 8 Jan 2026 13:05:57 +0000 (14:05 +0100)]
gh-143528: Fix test_time.test_thread_time() (#143558)
Tolerate 100 ms instead of 20 ms to support slow CIs.
Aniket [Thu, 8 Jan 2026 12:40:25 +0000 (18:10 +0530)]
gh-140025: Fix `queue.SimpleQueue.__sizeof__()` to return correct size (#143137)
Serhiy Storchaka [Thu, 8 Jan 2026 11:51:38 +0000 (13:51 +0200)]
gh-143553: Add support for parametrized resources in regrtests (GH-143554)
For example, "-u xpickle=2.7" will run test_xpickle only against Python 2.7.
Bartosz Sławecki [Thu, 8 Jan 2026 03:41:27 +0000 (04:41 +0100)]
gh-143517: Fix an edge case in rewriting stringified starred annotations (#143518)
VanshAgarwal24036 [Thu, 8 Jan 2026 03:32:44 +0000 (09:02 +0530)]
gh-143089: Fix ParamSpec default examples to use list instead of tuple (#143179)
Sam Gross [Wed, 7 Jan 2026 22:56:14 +0000 (17:56 -0500)]
gh-129824: Fix data race on `runtime->gilstate.check_enabled` (gh-143530)
Tomas R. [Wed, 7 Jan 2026 22:36:22 +0000 (23:36 +0100)]
Fix a typo in STORE_SLICE docs (#143500)
Dino Viehland [Wed, 7 Jan 2026 21:26:19 +0000 (13:26 -0800)]
gh-143531: Use macro to check if PEP 523 is hooked (#143532)
Use macro to check if PEP 523 is hooked
Savannah Ostrowski [Wed, 7 Jan 2026 17:39:47 +0000 (09:39 -0800)]
GH-142950: Process format specifiers before colourization in argparse help (#142960)
Sam Gross [Wed, 7 Jan 2026 17:34:05 +0000 (12:34 -0500)]
gh-117657: Remove remaining TSan suppressions (gh-143499)
Adorilson Bezerra [Wed, 7 Jan 2026 16:16:25 +0000 (16:16 +0000)]
gh-106318: Add examples for str.casefold() and str.lower() methods (#142154)
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
T. Wouters [Wed, 7 Jan 2026 15:40:33 +0000 (16:40 +0100)]
gh-141536: Fix a crash when running test_capi *after* test_code in the same process (#141537)
Łukasz Langa [Wed, 7 Jan 2026 15:30:58 +0000 (16:30 +0100)]
gh-138568: Make `help` mode in PyREPL not exit on empty line input (#143512)
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: yihong0618 <zouzou0208@gmail.com>
Giampaolo Rodola [Wed, 7 Jan 2026 14:11:50 +0000 (15:11 +0100)]
gh-94172: delete mention of ssl_version from ftplib doc (#143515)
`FTP_TLS.ssl_version` class attribute was removed in https://github.com/python/cpython/commit/
ef0e72b31d2 .
Petr Viktorin [Wed, 7 Jan 2026 12:09:48 +0000 (13:09 +0100)]
gh-141671: PyMODINIT_FUNC: apply `__declspec(dllexport)` on Windows (GH-141672)
Serhiy Storchaka [Tue, 6 Jan 2026 23:51:12 +0000 (01:51 +0200)]
gh-75572: Fix test_xpickle and disable it by default (GH-143503)
Adorilson Bezerra [Tue, 6 Jan 2026 21:42:11 +0000 (21:42 +0000)]
gh-106318: Add example for str.index() (#137023)
Nadeshiko Manju [Tue, 6 Jan 2026 21:11:53 +0000 (05:11 +0800)]
gh-134584: Eliminate redundant refcounting from `TO_BOOL_STR` (GH-143417)
Signed-off-by: Manjusaka <me@manjusaka.me>
Sam Gross [Tue, 6 Jan 2026 20:55:37 +0000 (15:55 -0500)]
gh-132070: Fix PyObject_Realloc thread-safety in free threaded Python (gh-143441)
The PyObject header reference count fields must be initialized using
atomic operations because they may be concurrently read by another
thread (e.g., from `_Py_TryIncref`).
Ken Jin [Tue, 6 Jan 2026 20:34:08 +0000 (04:34 +0800)]
gh-142982: Specialize CALL_FUNCTION_EX (GH-143391)
Andrii Hrimov [Tue, 6 Jan 2026 20:18:37 +0000 (21:18 +0100)]
gh-133315: Document that compat32 should not be used with MIMEPart/EmailMessage (#143307)
Xiao Yuan [Tue, 6 Jan 2026 17:53:43 +0000 (19:53 +0200)]
Doc: Fix missing closing parenthesis in argparse example (#143488)
Kumar Aditya [Tue, 6 Jan 2026 17:53:28 +0000 (23:23 +0530)]
gh-142863: optimize `list` and `set` calls with generator expressions (#142864)
ADITYA RAI [Tue, 6 Jan 2026 17:08:25 +0000 (22:38 +0530)]
gh-142302: Fix mkstemp() documentation: clarify file descriptor inheritance behavior (#142338)
The documentation incorrectly stated that the file descriptor is not
inherited by child processes. In reality, the close-on-exec flag (when
available) only prevents inheritance across exec() calls, not fork().
Co-authored-by: Victor Stinner <vstinner@python.org>
Ken Jin [Tue, 6 Jan 2026 17:03:03 +0000 (01:03 +0800)]
gh-75572: Forward-port test_xpickle from Python 2 to 3 (GH-22452)
Move data classes used in tests to separate file test_picklecommon.py,
so it can be imported in old Python versions.
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Adorilson Bezerra [Tue, 6 Jan 2026 16:43:44 +0000 (16:43 +0000)]
gh-106318: Add examples for str.isprintable() (#140043)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Ken Jin [Tue, 6 Jan 2026 16:39:57 +0000 (00:39 +0800)]
gh-131798: Support generator frames in the JIT optimizer (GH-143340)
Kumar Aditya [Tue, 6 Jan 2026 16:39:18 +0000 (22:09 +0530)]
gh-143469: enable `LOAD_ATTR_MODULE` specialization even if `__getattr__` is defined (#143470)
Gleb Smirnoff [Tue, 6 Jan 2026 16:25:29 +0000 (08:25 -0800)]
gh-142991: socketmodule: fixed getsockaddrlen() for PF_DIVERT socket (#142993)
reiden [Tue, 6 Jan 2026 16:11:56 +0000 (00:11 +0800)]
gh-134584: Eliminate redundant refcounting in TO_BOOL_ALWAYS_TRUE (GH-143427)
Co-authored-by: Ken Jin <kenjin@python.org>
Ken Jin [Tue, 6 Jan 2026 15:19:35 +0000 (23:19 +0800)]
gh-139038: Add macOS performance numbers for the JIT (GH-143479)
Sam Gross [Tue, 6 Jan 2026 14:40:14 +0000 (09:40 -0500)]
gh-143424: Fix assertion in _PyMutex_LockTimed (gh-143439)
The assertion doesn't necessarily hold for `threading.Lock`, so allow
the lock to be unlocked if `_PY_LOCK_PYTHONLOCK` is set on the flags.
Clay Dugo [Tue, 6 Jan 2026 14:35:51 +0000 (09:35 -0500)]
gh-143474: Add `os.RWF_ATOMIC` constant (GH-143475)
Sam Gross [Tue, 6 Jan 2026 14:15:55 +0000 (09:15 -0500)]
gh-129824: Fix data race in _PyBuiltins_AddExceptions with subinterpreters (gh-143446)
Semyon Moroz [Tue, 6 Jan 2026 13:12:05 +0000 (13:12 +0000)]
gh-143331: Schedule to remove format "N" for Decimal (#143372)
Hugo van Kemenade [Tue, 6 Jan 2026 12:31:21 +0000 (14:31 +0200)]
Allow Android to fail CI (GH-143471)
Łukasz Langa [Tue, 6 Jan 2026 10:10:18 +0000 (11:10 +0100)]
gh-143394: On macOS, run main PyREPL tests as "Apple Terminal" as well (GH-143461)
Serhiy Storchaka [Tue, 6 Jan 2026 09:36:00 +0000 (11:36 +0200)]
gh-41779: Allow defining any __slots__ for a class derived from tuple (GH-141763)
Kumar Aditya [Tue, 6 Jan 2026 06:54:02 +0000 (12:24 +0530)]
gh-116738: make entering of `contextvars.Context` thread safe (#143074)
Emma Smith [Tue, 6 Jan 2026 01:25:30 +0000 (17:25 -0800)]
gh-134740: Document distribution discovery in importlib.metadata (#134751)
Document the following items listed in `__all__` but missing from
documentation:
- `distributions()`: mentioned in doc strings as well
- `DistributionFinder`: mentioned but didn't have it's own :class:
entry
- `DistributionFinder.Context`: mentioned but didn't have it's own :class:
entry)
- `Distribution.discover()`: mentioned in doc strings
Closes #134740
Partially addresses #110937
---------
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
Chris Eibl [Mon, 5 Jan 2026 21:46:08 +0000 (22:46 +0100)]
gh-143394: filter for turning off automatic margins in test_no_newline (GH-143433)
Sam Gross [Mon, 5 Jan 2026 21:13:29 +0000 (16:13 -0500)]
gh-143108: Don't instrument some faulthandler related functions for TSan (#143450)
Ritam Pal [Mon, 5 Jan 2026 19:55:11 +0000 (01:25 +0530)]
gh-143434: Fix typo in zstd documentation (#143437)
Ori Avtalion [Mon, 5 Jan 2026 19:27:45 +0000 (21:27 +0200)]
gh-138205: explicit mention to `mmap.mmap.resize` in "Porting to Python 3.15" notes (#143440)
Łukasz Langa [Mon, 5 Jan 2026 17:00:48 +0000 (18:00 +0100)]
gh-69605: In test_pyrepl.test_already_imported*, invalidate FS import caches (#143436)
This makes the test robust against file systems with low timestamp resolution, which otherwise would fail to re-import in the tight loop of the test.
Loïc Simon [Mon, 5 Jan 2026 15:18:54 +0000 (16:18 +0100)]
gh-69605: Check for already imported modules in PyREPL module completion (GH-139461)
Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
Denizhan Dakılır [Mon, 5 Jan 2026 04:39:11 +0000 (07:39 +0300)]
gh-143082: Make readline work when sys.stdin is explicitly passed to pdb (#143083)
Bénédikt Tran [Sun, 4 Jan 2026 20:44:47 +0000 (21:44 +0100)]
gh-143309: fix `test_execve_env_concurrent_mutation_with_fspath_posix` buildbot failure (#143415)
Chris Eibl [Sun, 4 Jan 2026 14:14:27 +0000 (15:14 +0100)]
gh-139757: Add BINARY_OP_SUBSCR_USTR_INT (GH-143389)