1163 Commits
Author SHA1 Message Date
youknowdotandCodex dd32b7060d Expose sys._is_interned and order interned-state publication (#9430)
Query the existing object flag without interning or content lookup. Mark only a successful pool insertion before releasing its write lock so a concurrent lookup cannot return the entry before its flag is set.

Assisted-by: OpenAI Codex: model version unavailable

Co-authored-by: Codex <codex@openai.com>
2026-10-28 14:50:05 +00:00
youknowdotandCodex 2e84a0764d Fix source decoding diagnostics and normalize decoded newlines (#9429)
Track coding-cookie locations, preserve codec initialization errors as SyntaxError, and normalize decoded source before parsing. Add unchanged CPython 3.15 source-encoding coverage via update_lib.

Assisted-by: OpenAI Codex: model version unavailable

Co-authored-by: Codex <codex@openai.com>
2026-10-28 23:19:52 +09:00
Jeong, YunWon f862b4bcee Fix Windows/x86 deallocation and sequence compatibility (#9427)
* Adopt pymath remainder fix on Windows

Pin pymath to the merged CPython-compatible remainder implementation and remove the passing Windows expected-failure marker.

Investigation, implementation, and validation assisted by Codex.

Assisted-by: Codex:GPT-5

* Keep deferred object deallocation iterative

Run deferred deallocators inside a guarded trashcan context so their end calls cannot recursively drain the same queue. Reset the depth on unwind and test the drain invariant. Fixes stack overflow while dropping deeply nested Element trees on Windows.

Investigation, implementation, validation, and focused review assisted by Codex.

Assisted-by: Codex:GPT-5

* Fix 32-bit sequence hashes, repetition errors, and range state

Use the declared 64-bit hash width for tuple hashing on every target, raise MemoryError for oversized sequence allocations, and preserve arbitrary-precision positions in long range iterators. Keep exhausted iterators exhausted instead of wrapping their counters.

Add Rust regression tests and verify the canonical Python suites with an optimized Windows x86 interpreter. Implementation, investigation, validation, and focused review assisted by Codex.

Assisted-by: Codex:GPT-5
2026-10-28 22:13:10 +09:00
youknowdotandCodex e833153a4f Fix UTF-8 startup option precedence and refresh canonical tests (#9422)
* Fix UTF-8 startup option precedence and refresh canonical tests

Resolve the first explicit UTF-8 option before environment validation and align startup diagnostics with CPython 3.15. Refresh canonical encoding tests through update_lib and narrow the existing environment test failure to Windows. Support only monotonic expected-failure narrowing in updater metadata with focused regression tests.

Assisted-by: OpenAI Codex: model version unavailable

* Normalize configured standard-stream codec names

Resolve explicit stdio encodings through CodecInfo.name before creating standard streams, matching CPython initialization. Preserve ordinary TextIOWrapper spelling and existing standard-stream error policies; leave canonical tests unchanged.

Assisted-by: OpenAI Codex: model version unavailable

* Retire passing standard-stream UTF-8 expected failure

The configured-codec normalization fix makes canonical test_stdio pass in both Linux CI attempts. Remove only its stale expectedFailure through update_lib, preserving canonical assertions and all other platform guards.

Assisted-by: OpenAI Codex: model version unavailable

---------

Co-authored-by: Codex <codex@openai.com>
2026-10-28 18:23:22 +09:00
youknowdotandCodex 12b804554d Sync site startup processing and tests with CPython 3.15 (#9421)
* Sync site startup processing and tests with CPython 3.15

Preserve existing RustPython identity, path expectations, and four _pth expected failures via explicit updater metadata.

Assisted-by: OpenAI Codex: model version unavailable

* Honor standalone executable ._pth startup configuration

Apply explicit path isolation before CLI environment settings, preserve canonical empty-file and prefix handling, and retire three expected failures proven by test_site.

Assisted-by: OpenAI Codex: model version unavailable

* Retire passing Windows underpth expectation

The canonical DLL-named test passed in both Windows CI attempts on e1527c53. Remove only its obsolete expectedFailure through update_lib.

Assisted-by: OpenAI Codex: model version unavailable

---------

Co-authored-by: Codex <codex@openai.com>
2026-10-28 18:22:00 +09:00
youknowdotandCodex 07b1cdba31 Update Windows registry behavior and canonical 3.15 tests (#9420)
* Update Windows registry behavior and canonical 3.15 tests

Add DeleteTree with nullable wide paths, audit emission, native errors, and thread release; compare HKEY handles as CPython does while retaining upstream identity hashing. Migrate canonical winreg and winapi tests from CPython d220409a13b77de7a6c30abe16ea90db01528edc.

Assisted-by: OpenAI Codex: model version unavailable

* Accept nullable subkeys in winreg OpenKey

Keep sub_key required while accepting None, matching CPython and the canonical HKEY comparison test prerequisite. Forward a null path to RegOpenKeyExW, retain owned wide strings across thread release, and emit the input and result audit events without leaking the returned handle on an audit error.

Assisted-by: OpenAI Codex: model version unavailable

---------

Co-authored-by: Codex <codex@openai.com>
2026-10-28 17:35:55 +09:00
youknowdotandCodex 674b6d8b1b Support native complex memoryview formats and NaN equality (#9418)
Sync canonical CPython 3.15 memoryview tests through update_lib migrate. Reuse existing buffer codecs and preserve released-view equality.

Assisted-by: Codex:model-version-unavailable

Co-authored-by: Codex <codex@openai.com>
2026-10-28 17:34:58 +09:00
youknowdotandCodex a20c0b8954 Retire obsolete stdlib paths after Python 3.15 relocations (#9413)
* Retire obsolete stdlib paths after Python 3.15 relocations

Verify canonical replacements before retiring 39 upstream-removed or relocated files. Preserve RustPython originals and update stale module/test metadata.

Assisted-by: Codex:GPT-6.1

* Preserve the frozen no-threading fallback after stdlib retirement

Replace the internal symlink with the exact previously referenced implementation, keeping the removed public _dummy_thread module retired.

Assisted-by: Codex:GPT-6.1

---------

Co-authored-by: Codex <codex@openai.com>
2026-10-28 17:30:21 +09:00
Jeong, YunWon 1ba0099126 Fix Windows runtime validation and 32-bit string size overflows (#9412)
Validate overlapped receive buffer sizes before starting I/O and preserve spawnv non-TypeError argument failures. Check replacement, tab expansion, and string join sizes before allocation to avoid 32-bit capacity overflows.

Implementation, regression investigation, and validation assisted by Codex.

Assisted-by: Codex:GPT-5
2026-10-28 17:29:51 +09:00
youknowdotandCodex dc8ea56566 Update 16 stdlib test modules from CPython 3.15 (#9411)
* Update 16 stdlib test modules from CPython 3.15

Sync with scripts/update_lib migrate from CPython d220409a13b77de7a6c30abe16ea90db01528edc, preserving existing RustPython markers.

Assisted-by: Codex:GPT-6.1

* Limit SEND completion tracing to generators and coroutines

Match CPython INSTRUMENTED_END_SEND receiver semantics: other awaitables returning values must not synthesize caller StopIteration trace events. Preserve actual exceptions, builtin generator/coroutine completion and trampoline paths.

Assisted-by: Codex:GPT-6.1

---------

Co-authored-by: Codex <codex@openai.com>
2026-10-28 17:29:13 +09:00
youknowdotandyouknowdot 058bebf0f0 Add canonical cross-interpreter serialization tests and fixture bridges (#9408)
* Add canonical cross-interpreter serialization tests and fixture bridges

Import the complete CPython test_crossinterp module and provide its capsule bridges using existing serialization and validation logic. Keep fixture modes private instead of expanding SharedValue or interpreter lifecycle APIs.

Assisted-by: OpenAI Codex: model version unavailable

* Simplify canonical cross-interpreter fixture dispatch

Match CPython 3.15.0 mode dispatch with one private constructor instead of six forwarding entry points. Keep generic marshal data distinct from code transport, preserve capsule ownership checks and pure-script validation, and leave the canonical tests unchanged.

Assisted-by: OpenAI Codex: model version unavailable

---------

Co-authored-by: youknowdot <336763669+youknowdot@users.noreply.github.com>
2026-10-28 10:11:59 +09:00
1ndahous3 df0d1b74c0 Preserve ctypes py_object provenance across casts and pointer writes (#9391)
* Preserve ctypes py_object provenance across casts and pointer writes

Assisted-by: Codex:GPT-6

* Validate ctypes writer paths across casts and retargeting

Assisted-by: Codex:GPT-6

* Preserve ctypes writer roots and avoid nested storage scans

Assisted-by: Codex:GPT-6

* Register ctypes exporters and cache pointer-field writers

Assisted-by: Codex:GPT-6

* Register overlapping ctypes views and index retained objects

Assisted-by: Codex:GPT-6

* Track shared ctypes buffer owners and cache cast fields

Assisted-by: Codex:GPT-6

* Index ctypes buffer aliases and register pointer exporters

Assisted-by: Codex:GPT-6

* Publish disjoint ctypes byref writes to borrowed sources

Assisted-by: Codex:GPT-6

* Index ctypes write provenance and validate private field paths

Assisted-by: Codex:GPT-6

* Resolve retained ctypes values after pointer retargeting

Assisted-by: Codex:GPT-6
2026-10-27 19:57:38 +09:00
youknowdotandCodex 75df7a8c2e Implement PEP 798 comprehension unpacking (#9342)
* Support PEP 798 comprehension unpacking

Extract the remaining Python 3.15 comprehension unpacking implementation
from the integration branch. Use existing list/set/dict update operations
and an explicit inner iterator loop for generator unpacking. Align the
public DictComp AST representation and schema with CPython.

Migrate test_unpack_ex and test_unparse with scripts/update_lib from
CPython d220409a13b77de7a6c30abe16ea90db01528edc. Preserve existing Rust tests;
add no duplicate regression tests or snippets.

AI-assisted source extraction, canonical migration, and independent source
review with OpenAI Codex. Runtime validation is not yet complete.

Assisted-by: OpenAI Codex:model version unavailable

* Improve selected unpacking diagnostics and refresh canonical exception tests

Normalize six supported comprehension-unpacking diagnostics using existing parser context. Restrict the dictionary-spread hint to its first entry to avoid changing unrelated diagnostics.

Migrate the whole test_exceptions module from CPython d220409a13b77de7a6c30abe16ea90db01528edc with the existing updater, preserving only its two existing RustPython markers. Ruff sources and dependency pins are unchanged.

Six focused check/build/strict Clippy gates passed. A paired 34-input compile-only comparison retains six canonical diagnostic improvements, with eight of fifteen canonical cases still differing; this is not full test_exceptions or CI validation.

* Fix mapping-rest error locations and retire stale encoding xfail

* Match remaining unpacking diagnostics without changing Ruff

Use exact retained AST and error ownership to normalize the remaining CPython 3.15 unpacking diagnostics. Reparse only the owned call argument slice with the unchanged Ruff parser when its original recovery loses generator clauses.

Validated all 30 canonical compile-only cases in exec and doctest-style single modes against CPython 3.15.0, plus finite surrounding controls. Targeted compiler Clippy and source-bound builds passed. Full CI is pending. Cspell alone was omitted with the maintainer’s explicit one-commit approval because its npm bootstrap downloads returned HTTP 403; all other applicable configured commit hooks ran.

AI assistance: dot authored, reviewed, and validated the changes. The runtime does not expose its exact model version.

Assisted-by: dot: model version not exposed

---------

Co-authored-by: Codex <codex@openai.com>
2026-10-27 13:29:59 +09:00
Jeong, YunWon 1df1daea3e Fix Windows runtime compatibility issues (#9406)
Correct socket address handling, untracked mappings, directory enumeration, winsound validation, and executable path discovery. Report the vendored Unicode version independently of the Rust toolchain.

Assisted-by: Codex:GPT-5
2026-10-27 13:28:36 +09:00
1ndahous3 415e472a50 Share ctypes backing-owner snapshots between aggregate copies (#9392)
* Share ctypes backing-owner snapshots between aggregate copies

Assisted-by: Codex:GPT-6

* Limit ctypes snapshot helper to supported targets

Assisted-by: Codex:GPT-6

* Clarify ctypes snapshot allocation helper names

Assisted-by: Codex:GPT-6
2026-10-27 10:08:29 +09:00
1ndahous3 85b34cf52b Fix ctypes subclass bitfields and native type metadata (#9395)
Assisted-by: Codex:GPT-6
2026-10-27 10:07:39 +09:00
Jeong, YunWon 20042568fc Decide tp_new inheritance of static types at type initialization (#9386)
A static type with no tp_new of its own whose base is object now gets
DISALLOW_INSTANTIATION instead of inheriting object's tp_new, following
type_ready_set_new. Such types no longer expose an inherited __new__.

A static type that inherits a non-NULL tp_new from its base must have the
same basicsize as that base; type initialization panics otherwise. Types
flagged HEAPTYPE are exempt, like classes created at runtime.

_IOBase is flagged HEAPTYPE so that it keeps inheriting object's tp_new.
FutureIter, TaskStepMethWrapper, hamt, InstructionSequence and
itertools._grouper get constructors of their own.

Assisted-by: Claude:claude-opus-5-5
Assisted-by: Grok:grok-4.7
2026-10-27 10:07:06 +09:00
1ndahous3 cdb39399bd Fix ctypes scalar access, bitfields, and cyclic collection (#9390)
* Fix ctypes scalar access, bitfields, and cyclic collection

Assisted-by: Codex:GPT-6

* Format ctypes pyclass attributes

Assisted-by: Codex:GPT-6
2026-10-26 20:39:14 +09:00
youknowdot 1052e613ed Preserve interpreter-boundary diagnostics and syslog restrictions (#9365)
* Preserve Unicode in thread unraisable messages

Keep the callable representation as WTF-8 for unraisable hooks and audit callbacks. Preserve the existing String entry point and stderr fallback; this does not claim lossless stderr rendering.

Assisted-by: OpenAI Codex:model unavailable

* Use the WTF-8 string conversion constructor

Use the existing From<&str> implementation to copy the message prefix without changing Unicode semantics.

Assisted-by: OpenAI Codex:model unavailable

* Preserve cross-interpreter marshal error causes

Wrap failures from existing code/function serialization helpers as NotShareableError, matching the CPython 3.15 marshal boundary while retaining the original exception cause. No new test C API or lifecycle behavior.

Assisted-by: OpenAI Codex:model-unavailable

* Enforce syslog interpreter boundaries and sync queue cleanup

Reject subinterpreter openlog/closelog before audit or host mutation, and
reject implicit syslog opening after audit when the process logger is not
already open, matching CPython 3.15 guard placement and error text.
Already-open logging and setlogmask remain unchanged.

Migrate concurrent/interpreters/_queues.py through scripts/update_lib to
CPython d220409a13b77de7a6c30abe16ea90db01528edc, removing unused eager
pickle import and exception targets. Native serialization imports pickle
on demand; module import timing and debug locals may nevertheless differ.

No new fixtures or interpreter lifecycle mechanisms are introduced.

Assisted-by: OpenAI Codex:model version unavailable
2026-10-26 14:15:38 +09:00
youknowdot 1170a337cc refactor: share PyTime conversions with time.sleep (#9362)
Move the existing conversion helper into the production time module and reuse it from sleep, preserving conversion bodies and internal C-API argument binding.

Assisted-by: OpenAI Codex:model version unavailable
2026-10-26 10:07:47 +09:00
youknowdot 9bd84b2f13 Handle full-width operands in the None-return scanner (#9347)
Use decoded logical instructions rather than the preceding raw operand byte. Check referenced constants by None identity and decode common constants without panicking.

Assisted-by: OpenAI Codex:model unavailable
2026-10-25 15:12:50 +09:00
1ndahous3 db4878080a Collect cycles through sets, frozensets and set iterators (#9343)
Assisted-by: Codex:GPT-6
2026-10-25 15:10:43 +09:00
youknowdot 5a0ded80dc Preserve symtable warning exceptions and original filenames (#9282)
Keep warning-hook exceptions untouched instead of rewriting SyntaxError
subclasses. Thread the original Python filename through parser warning
emission and fresh warning-as-error SyntaxError construction, preserving
fsdecoded bytes paths and lone surrogates.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-24 14:36:59 +09:00
youknowdotandCodex 413710c107 Complete PyTime conversion fixtures and repair existing helpers (#9317)
* Fix rounding and bounds in existing PyTime test helpers

Extract the already-exposed conversion helper prerequisite from the broader #9143 surface without adding new test C-API exports or changing time.sleep.

Assisted-by: Codex:unknown

* Complete PyTime conversion fixtures in _testinternalcapi

Stack the eight consumed conversion APIs on the existing-helper prerequisite in #9317. Keep the arithmetic local to the real fixture consumers; do not expose _testcapi or change sleep/lifecycle behavior.

Assisted-by: Codex:unknown

---------

Co-authored-by: Codex <codex@openai.com>
2026-10-24 11:29:06 +09:00
youknowdot a788de29da Fix interpolated string warning diagnostic locations (#9314)
* Use closing-token locations for interpolated body warnings

Track CPython string-parser fragment anchors separately from escape source offsets. Preserve scoped error-line text and mode-specific final newlines with lazy sparse location indexing.

Assisted-by: OpenAI Codex:model-version-unavailable

* Fix lint checks for interpolated warning diagnostics

Assisted-by: OpenAI Codex (model version unavailable)

* Match CPython interpolated warning phases and fragment diagnostics

Reconstruct body and format-spec decoder fragments, preserve tokenizer/parser action order and pending Single/type-comment errors, and match Unicode protection plus scoped numeric and ordinary-token diagnostics.

Assisted-by: OpenAI Codex:model-version-unavailable

* Use physical final-line locations for ordinary exec warnings

Keep warning and error coordinates consistent across bare CR, CRLF, and LF while retaining file-input synthetic newlines.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-24 11:28:44 +09:00
youknowdot 1cd1b5d09f Preserve tokenizer-only compiler warning order (#9316)
Use the collected lexical warning order for valid Exec/Eval inputs without parser-origin escape events. Keep tokenizer errors terminal and retain mixed-origin, invalid-source, and Single fallback behavior.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-24 08:11:22 +09:00
Jeongseop LimandJeong YunWon c271e33214 Reject surplus positional arguments before converting any (#9242)
* Count positional arguments before converting any

FuncArgs::bind_for rejected surplus positional arguments only after
FromArgs::from_args had converted every declared parameter. A
conversion can run user code (__iter__ for PyIter, __index__ for
ArgIndex), so filter(None, it, 0), hex(x, 1) and pairwise(it, 0) raised
whatever that code raised instead of the TypeError CPython reports
before it touches any argument.

Check the count against FromArgs::arity() before from_args runs. For
that bound to be safe:

- The default arity() has no upper bound, since a manual impl may take
  positional arguments itself. KwArgs, (), DirFd, OpenDirFd and csv's
  FormatOptions declare the bound they actually have.
- A derived struct adds the upper bound of each flattened field.
- A tuple sums upper bounds with saturating_add.

Assisted-by: Claude Code:claude-opus-5-5

* Note why arity upper bounds saturate

Comment that an unbounded upper bound is usize::MAX, which is why the
tuple and derived arity() sums use saturating_add, and drop the CPython
mention from the positional count check comment.

Assisted-by: Claude Code:claude-opus-5-5

---------

Co-authored-by: Jeong YunWon <jeong@youknowone.org>
2026-10-24 01:02:44 +09:00
youknowdot 0dc77faaab Fix busy interpreter test readiness race (#9328)
Publish readiness only after the main interpreter has completed its first operation, and bound the detached subinterpreter readiness wait. Preserve the original progress assertions, main deadline, and safepoint.

AI assistance covered diagnosis, source changes, review, and focused validation.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-24 01:00:20 +09:00
1ndahous3 3b9a9f4a4c Reuse unchanged string results in affix removal and partitioning (#9324)
* Reuse unchanged string results in affix removal and partitioning

Assisted-by: Codex:GPT-6

* Qualify the ASCII macro in the string test

Assisted-by: Codex:GPT-6
2026-10-24 00:59:43 +09:00
Bas Schoenmaeckers 5dcef1aa6d Add subclass type flags (#9327) 2026-10-23 09:38:01 +00:00
1ndahous3 fd3c3fca64 Return the correct bytes reconstruction arguments (#9326)
Assisted-by: Codex:GPT-6
2026-10-23 18:06:06 +09:00
1ndahous3 33b656fae1 Hash iterable elements directly in set predicates (#9325)
Assisted-by: Codex:GPT-6
2026-10-23 18:05:29 +09:00
1ndahous3 bbbde24061 Share repeated itertools.product pools (#9323)
Assisted-by: Codex:GPT-6
2026-10-23 18:03:11 +09:00
1ndahous3 aa3a851966 Release consumed itertools.tee buffers (#9322)
Assisted-by: Codex:GPT-6
2026-10-23 18:01:54 +09:00
youknowdotandyouknowdot c70e9b8443 Sync selected Python 3.15 core library tests and repr type errors (#9321)
* Sync Python 3.15 core library tests and repr type errors

Synchronize ten selected library paths from CPython 3.15.0 at
d220409a13b77de7a6c30abe16ea90db01528edc using the canonical updater,
retaining existing RustPython adapters and failure markers.

Match generic __repr__ invalid-result errors to the qualified type-name
format required by the canonical ExceptionGroup regression, preserving
string results and exceptions raised by the implementation.

Implementation, source review, and validation were AI-assisted. The model
version identifier is unavailable; automated checks are not human
verification. Bounded validation covers 43 passes and one canonical skip,
not the full repository suites.

Assisted-by: OpenAI Codex:model version unavailable

* Preserve original escape decoder consumed length after callbacks

Keep the original input length as consumed after successful unicode-escape
and raw-unicode-escape decoding, including error-handler input replacement.
Only report the current cursor when a non-final decode stops on incomplete
input, matching CPython's codec wrappers and incomplete exits.

Fix the canonical Unicode escape mutation regression that failed CI on
Linux, macOS and Windows. Preserve all Lib tests and existing assertions.
Bounded Linux validation: 55 passes and one canonical skip, CLI build and
strict common/VM Clippy passed. Full repository suites were not run.

Implementation, source review, and validation were AI-assisted. The model
version identifier is unavailable; automated checks are not human
verification.

Assisted-by: OpenAI Codex:model version unavailable

---------

Co-authored-by: youknowdot <336763669+youknowdot@users.noreply.github.com>
2026-10-23 18:01:14 +09:00
youknowdotandyouknowdot afe5d9030a Separate constructor and instance vectorcall dispatch (#9320)
Keep constructor fast paths separate from per-instance vectorcall support.
Track automatic eligibility without discarding raw support required by
PyVectorcall_Call, and recheck eligibility in retained callable wrappers.

Implementation and source review were AI-assisted. The model version
identifier is unavailable; automated checks are not human verification.

Assisted-by: OpenAI Codex:model version unavailable

Co-authored-by: youknowdot <336763669+youknowdot@users.noreply.github.com>
2026-10-23 17:59:19 +09:00
youknowdot 73b6806608 Limit single-input parser warning emission to the first logical input (#9304)
Keep later numeric warnings available after parser warning escalation. Preserve compound tokenizer warning emission and legacy malformed-source fallback.

Assisted-by: OpenAI Codex:gpt-6-astra
2026-10-23 17:54:12 +09:00
youknowdot 94f92e4ab8 Use final numeric character for warning error offsets (#9305)
Assisted-by: OpenAI: GPT-6.1
2026-10-22 23:24:53 +09:00
youknowdot 36f8e8937a Recover numeric warning errors in AST single mode (#9303)
Match ordinary single compilation by allowing later numeric warnings raised as errors to take precedence after a parser-origin escape warning. Preserve tokenizer-origin guards and the separate prompt path.

Assisted-by: Codex:unknown
2026-10-22 23:23:49 +09:00
youknowdot 6c171fffe1 Align mapping collection and call unpacking with Python 3.15 (#9302)
* Align mapping collection and call unpacking with Python 3.15

Preserve iterator exceptions and exact-list results when collecting mapping
methods, defer callable formatting, and retain exact-dict stored hashes.
Synchronize complete test_extcall with CPython v3.15.0.

Assisted-by: Codex:unknown

* Update pickle and pickletools libraries for Python 3.15

Synchronize the six coherent serialization modules with CPython v3.15.0
through update_lib, retaining existing RustPython adaptations.

Assisted-by: Codex:unknown
2026-10-22 23:23:15 +09:00
youknowdotandCodex 0b0a360764 Use __main__ when compiling filesystem scripts (#9301)
Forward script compiler warnings through the typed module-aware entry point. Sync canonical command-line script coverage from CPython d220409a13b77de7a6c30abe16ea90db01528edc with the existing RustPython marker preserved.

Assisted-by: OpenAI Codex:model-version-unavailable

Co-authored-by: Codex <codex@openai.com>
2026-10-22 12:02:16 +00:00
youknowdot eb03691084 Order parser warnings for valid source while preserving recovery boundaries (#9296)
Reuse the parser warning collector only for valid, recovery-eligible source. Preserve malformed-source and tokenizer-origin interpolation fallback.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-22 10:46:20 +00:00
SeungJe Jeong e57c8db83a Allow same-size bytearray.resize with exported buffers (#9217)
* Allow same-size bytearray.resize with exported buffers

Use the existing export snapshot or exclusive payload access to allow
same-size requests without a recursive read lock in codec callbacks.
Continue rejecting exported length changes and preserve zero filling.

Enable the CPython regression and consolidate resize coverage in the
existing bytearray snippet, including a bounded concurrent callback test.

Assisted-by: Codex:GPT-6

* remove redundant tests
2026-10-22 19:37:21 +09:00
youknowdot 1ba1107115 Align ctypes call ownership and C error state with Python 3.15 (#9218)
* Align ctypes call ownership and C error state with Python 3.15

Keep native raised errors separate from handled exceptions and preserve them across teardown callbacks. Import the related canonical ctypes call and type contracts.

Assisted-by: OpenAI Codex: model version unavailable

* Enumerate ctypes shared libraries natively on Linux and Android

Copy loader-owned names before Python filesystem decoding and update the related canonical ctypes utility and discovery tests from CPython 3.15. Preserve existing platform paths and dllist test markers.

Assisted-by: OpenAI Codex: model version unavailable

* Enable canonical dllist system enumeration coverage on Linux

Regenerate the pinned test through update_lib patches with reviewed marker data. Preserve other platform conditions and the unavailable extension-fixture guard.

Assisted-by: OpenAI Codex: model version unavailable

* Match Python float and long-double C argument representations

Use the existing Python float formatter for float and double C argument representations. Keep long-double arguments on the canonical generic-address representation path. Preserve the unchanged canonical parameter repr assertions.

Assisted-by: OpenAI Codex: model version unavailable
2026-10-22 18:16:22 +09:00
youknowdot 580706fa19 Fix _interpreters shared and updates argument diagnostics (#9295)
Use parameter names in dictionary validation errors to match Python 3.15.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-22 18:11:58 +09:00
youknowdot e102ccdae1 Use globals module names for eval and exec warnings (#9294)
* Use globals module names for eval and exec warnings

Forward the supplied scope module through compilation warnings while
preserving typed compile entrypoints and missing-name filename fallback.

* Retire the resolved exec warning-filter expected failure

Regenerate test_builtin through update_lib with all other adaptations
preserved after hosted CI reports the canonical method succeeds.
2026-10-22 18:10:44 +09:00
youknowdot 308085dafc Preserve float-subclass values in time.sleep conversion (#9292)
Follow CPython PyFloat_AsDouble without calling float-subclass overrides.
Keep index precedence and other conversion behavior unchanged.

Assisted-by: OpenAI Codex
2026-10-22 14:50:34 +09:00
youknowdot 39bee673a9 Respect static-method binding in builtin __self__ (#9291)
Reuse get_self() so static builtin methods expose None rather than their
stored class receiver, while preserving bound and module receivers.
2026-10-22 14:08:03 +09:00
youknowdot 49f4771e91 Reuse shared awaitable validation for defaulted anext (#9290)
Match CPython 3.15 await-result diagnostics and reject coroutine results
from custom __await__ consistently with the nondefaulted path. Preserve
native-coroutine unwrapping and wrapper state handling.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-22 13:42:26 +09:00
youknowdot 43368209c5 Support signed numeric constants in match pattern ASTs (#9279)
Recognize numeric Expr::Constant values when validating signed literal
patterns, alongside parser-produced NumberLiteral nodes. Python AST
conversion uses the former representation. Accept unary plus as well as
minus and fold signed real/imaginary and complex patterns consistently.

Boolean and non-numeric constants remain excluded. Preserve the existing
parser-produced literal path and do not change source grammar.

Assisted-by: OpenAI Codex:model-version-unavailable
2026-10-22 11:21:10 +09:00