Repository navigation
Match SQLite callback keyword parsing - #9737
youknowone merged 3 commits into
Conversation
Preserve typed positional-only signatures while selecting the defining-class Clinic argument parser for callback registration. Derive dispatch and binding policy at compile time; leave the successful-call validation path unchanged. Assisted-by: OpenAI Codex:model version not exposed
|
Caution Review failedThe pull request is closed.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
📦 Library DependenciesThe following Lib/ modules were modified. Here are their dependencies: [x] lib: cpython/Lib/sqlite3 dependencies:
dependent tests: (2 tests)
Legend:
|
Use scripts/update_lib on test_userfunctions.py and test_hooks.py after fixing the native defining-class argument parser. Remove their three remaining decorators, covering six concrete test cases, without changing assertions, logic, or existing skips. Assisted-by: OpenAI Codex:model version not exposed
04ea01a to
7a758a4
Compare
Rename the typed adapter and force-selection metadata consistently. Clarify that it reuses the ordinary binder, preserves positional-only semantics, and selects the CPython _PyArg_UnpackKeywords conventions without adding a second parser. Assisted-by: OpenAI Codex:model version not exposed
Merging this PR will not alter performance
Comparing Footnotes
|
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Summary
Retire the remaining expected failures in
test_sqlite3/test_userfunctions.pyandtest_sqlite3/test_hooks.pyas one file-level batch.SQLite's defining-class Clinic wrappers use
_PyArg_UnpackKeywords, even when every argument is positional-only. The generic native calling convention previously rejected keywords before that parser could report a missing positional argument or an excess total argument count.UnpackKeywords<T>adapter. ItsFORCE_UNPACK_KEYWORDScompile-time metadata selects CPython's_PyArg_UnpackKeywordscalling and validation conventions through the existing binder, preserving argument conversion and displayed signatures. Positional-only parameters still cannot be passed by keyword.scripts/update_lib; existing skips, assertions, test logic, and data are unchanged.This is independent of the other open expected-failure batches and is based directly on main
ea5fbcc00.Reference: CPython 3.15 SQLite generated wrappers and
_PyArg_UnpackKeywords.Validation
Behavioral validation before the identifier/documentation-only rename (binding and conversion logic unchanged):
-D warnings.Before the naming-only revision, workspace tests passed: 1,520 passed, zero failed, 20 ignored across unit, integration, and doc tests. Separate C-API tests passed: 149 passed, zero failed, two ignored, and separate C-API all-target Clippy passed with
-D warnings.On naming revision
1a834ea436, normal commit hooks, formatting, diff checks, and strict workspace all-target Clippy including SQLite have passed again. Workspace tests and separate C-API checks are still running; earlier interrupted compilations are not counted as passing.CPython 3.15 behavior is checked against the fixed source above; no CPython 3.15 runtime oracle is claimed. A clean merge was verified against current main
9670d1b364, including the subsequent #9706, #9668, and #9718 changes. No unrelated module expansion is included.Normal hosted CI is enabled. Full hosted and cross-platform validation remains outstanding; this is not a merge-ready claim.
AI assistance: OpenAI Codex assisted implementation, source review, and validation. The model version is not exposed. Commits include
Assisted-bytrailers.