Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
947e149
gh-87613: Argument Cliic @vectorcall decorator
cmaloney Feb 22, 2026
a9d0d6f
add blurb
cmaloney Mar 1, 2026
15f74e8
Move enumerate, reversed in enum.c to AC vectorcall
cmaloney Mar 1, 2026
a243517
Move tuple to AC vectorcall
cmaloney Mar 1, 2026
3698a32
Add _testclinic vectorcall sample + testing
cmaloney Mar 18, 2026
115a524
Merge upstream/main into ac_add_vectorcall
cmaloney May 18, 2026
04a148c
Simplify some test cases
cmaloney May 18, 2026
61746eb
Merge remote-tracking branch 'upstream/main' into ac_add_vectorcall
cmaloney May 18, 2026
b5d2e40
Ignore very large _testclinic
cmaloney May 19, 2026
71b0d8e
Up limit a bit more
cmaloney May 19, 2026
b96c326
Exclude more _testclinic from globals
cmaloney May 19, 2026
379fd85
Remove zero_arg case
cmaloney May 19, 2026
e9aff2f
Fix lint
cmaloney May 19, 2026
446bce5
Move to dataclass for vc args
cmaloney May 19, 2026
420d705
Fix test failures, refactor to dedup
cmaloney May 20, 2026
e4d18aa
Simplify now there's only exact_only
cmaloney May 20, 2026
1dcc72b
Merge branch 'main' into ac_add_vectorcall
cmaloney May 21, 2026
7e089b0
Remove removed class from globals-to-fix.tsv
cmaloney May 21, 2026
7f56bb0
Refactor kwarg parsing to be a helper function when emitting two pars…
cmaloney May 22, 2026
61ada45
Add a test class where all args are keyword allowed to increase cover…
cmaloney May 22, 2026
b1cd7b6
remove unnecessary branch in keyword parsing helper
cmaloney May 22, 2026
2a7c068
de-duplicate prototypes
cmaloney May 22, 2026
a19e9a8
Exercise critical section generation in testclinic
cmaloney May 22, 2026
d897215
Simplify comment wording
cmaloney Jun 5, 2026
bc744b2
Refactor parse_args codegeneration
cmaloney Jun 21, 2026
63c1dc5
Fix mypy error
cmaloney Jul 19, 2026
9357436
Fix some grammar in NEWS
cmaloney Jul 19, 2026
5e8e2a3
Merge remote-tracking branch 'upstream/main' into ac_add_vectorcall
cmaloney Aug 21, 2026
011e5c3
Apply suggetions from @eendebakpt, drop exact_only
cmaloney Aug 21, 2026
e4b4f0b
Update comments for recent implementation
cmaloney Aug 21, 2026
3bc0054
Remove PyType_GenericNew assert to fix windows builds
cmaloney Aug 21, 2026
70a6a68
Add a test that error messages should match between vectorcall and non
cmaloney Aug 22, 2026
67e9a37
Update out of range to use helper so error messages match
cmaloney Aug 22, 2026
9135933
Merge remote-tracking branch 'upstream/main' into ac_add_vectorcall
cmaloney Aug 22, 2026
6d8f207
Combine kwnames != NULL and positional out of range check to remove r…
cmaloney Aug 22, 2026
c2b8174
Fix tuple: condition was simplified wrong, varpos needs a check if mi…
cmaloney Aug 22, 2026
88d5928
Simplify _check_positional callsites
cmaloney Aug 22, 2026
5488010
Merge remote-tracking branch 'upstream/main' into ac_add_vectorcall
cmaloney Aug 27, 2026
52db6f7
Disable combining vectorcall and option groups
cmaloney Aug 27, 2026
afee565
Apply batched suggestions from code review
cmaloney Sep 4, 2026
64b3211
Apply batched suggestions from code review
cmaloney Sep 4, 2026
bdb5591
Back to building. Remove helper_call complexity
cmaloney Sep 4, 2026
48a70ab
_parse_args to _helper
cmaloney Sep 4, 2026
31cffb5
Remove no arguments case
cmaloney Sep 4, 2026
0c39c87
Switch to tp_new instead of tp_alloc. Enables bytearray.
cmaloney Sep 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix mypy error
  • Loading branch information
cmaloney committed Jul 19, 2026
commit 63c1dc5ad2de3dab54a6d9c9285ec672f1fe2bd0
3 changes: 3 additions & 0 deletions Tools/clinic/libclinic/parse_args.py
Original file line number Diff line number Diff line change
Expand Up @@ -1105,6 +1105,9 @@ def _vectorcall_exact_check(self) -> list[str]:
assert func.vectorcall is not None
if not func.vectorcall.exact_only:
return []
# The DSL parser only allows @vectorcall on __init__/__new__,
# which are required to be class methods.
assert func.cls is not None
type_obj = func.cls.type_object
self.codegen.add_include('pycore_call.h', '_PyObject_MakeTpCall()')
return [libclinic.normalize_snippet(f"""
Expand Down
Loading