* 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>
* 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
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
Migrate macro metadata and item handling to syn 3, preserving option diagnostics and doc trimming. Add focused parser and attribute-edit tests.
Assisted-by: OpenAI Codex:model version unavailable
Co-authored-by: youknowdot <336763669+youknowdot@users.noreply.github.com>
* 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>
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
* 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
* 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>
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>
Keep worker VM cloning separate from attachment and add a native structural regression test.
Assisted-by: OpenAI Codex
Co-authored-by: Codex <codex@openai.com>
Migrate nine substantial stdlib and canonical test modules from CPython
v3.15.0 through scripts/update_lib, preserving RustPython adaptations.
Include offline stack formatting without live process inspection or
changes to the held profiling frontend and test-support closure.
Assisted-by: Codex:unknown
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
Regenerate eight canonical language and container test modules using
scripts/update_lib at CPython d220409a13b77de7a6c30abe16ea90db01528edc.
Retain RustPython adaptations except the formatting expected-failure
marker confirmed stale by an XPASS and a subsequent unmarked pass.
AI-assisted source selection, synchronization, dependency review and
bounded validation using OpenAI Codex.
Assisted-by: Codex:unknown
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
* 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
Regenerate bdb, pdb, codeop, modulefinder and the canonical modulefinder
test using scripts/update_lib at CPython 3.15.0
d220409a13b77de7a6c30abe16ea90db01528edc.
AI-assisted source selection, synchronization, dependency review and
bounded validation using OpenAI Codex.
Assisted-by: Codex:unknown
* 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
Regenerate nine canonical modules using scripts/update_lib at CPython
3.15.0 d220409a13b77de7a6c30abe16ea90db01528edc. Keep the discovery
package split out until its missing test family is available.
AI-assisted source selection, synchronization, review and bounded
validation using OpenAI Codex. No native capability claims are added.
Assisted-by: Codex:unknown
* 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.
Follow CPython PyFloat_AsDouble without calling float-subclass overrides.
Keep index precedence and other conversion behavior unchanged.
Assisted-by: OpenAI Codex
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
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