GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-150097: Move _testclinic to multi-phase init by cmaloney · Pull Request #157968 · python/cpython

Conversation

@cmaloney

@cmaloney cmaloney commented Sep 22, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Drop the Argument Clinic (AC) vectorcall requirement for static types and convert the existing test cases to heap types. Move empty init vectorcall to share with existing no-arg __init__ case. Add support for no-argument vectorcall so the no-arg __init__ cases actually work (rather than adding an arg). Produce the same error string as the PyArg helpers do.

The AC vectorcall types no longer have a C address for the generated Py_Is so instead compare the slot function instead.

  • Issue: Move _testclinic to multi-phase init #150097

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@cmaloney @claude
pythongh-150097: Move _testclinic to multi-phase init
278c998
Convert the static types to heap types. Move empty init vectorcall to
share with existing no-arg __init__ case. Add support for no-argument
vectorcall so the no-arg __init__ cases actually work (rather than
adding an arg). Produce the same error string as the PyArg helpers do.

The vectorcall types no longer have a C address for the generated
`Py_Is` so instead compare the slot function instead. This drops the
requirement that a class using vectorcall declare a type object.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
@cmaloney
cmaloney requested review from AA-Turner, ericsnowcurrently and erlend-aasland as code owners September 22, 2026 22:36
@bedevere-app bedevere-app Bot mentioned this pull request Sep 22, 2026
Move _testclinic to multi-phase init #150097
Open
@bedevere-app bedevere-app Bot added the awaiting review label Sep 22, 2026
@cmaloney cmaloney added the skip news label Sep 22, 2026
This was referenced Sep 22, 2026
Generate vectorcall code to parse arguments using Argument Clinic #87613
Open
gh-144650: support Vectorcall for _decimal.Decimal's #158207
Merged
@skirpichev

skirpichev commented Sep 26, 2026

Copy link
Copy Markdown
Member

and convert the existing test cases to heap types

Maybe you should add tests for heap types instead?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

skirpichev pushed a commit to skirpichev/cpython that referenced this pull request Sep 26, 2026
@cmaloney @skirpichev
pythongh-150097: Move _testclinic to multi-phase init
6c3d922
Convert the static types to heap types. Move empty init vectorcall to
share with existing no-arg __init__ case. Add support for no-argument
vectorcall so the no-arg __init__ cases actually work (rather than
adding an arg). Produce the same error string as the PyArg helpers do.

The vectorcall types no longer have a C address for the generated
`Py_Is` so instead compare the slot function instead. This drops the
requirement that a class using vectorcall declare a type object.

Co-Authored-By: Claude Fable 5.1 <[email protected]>

(cherry-picked from python#157968)
cmaloney and others added 5 commits September 26, 2026 00:24
@cmaloney
Move one type back to static so both static and heap are tested
b40e98a
@cmaloney
Merge remote-tracking branch 'upstream/main' into pythongh-150097-tes…
93c43b5
…tclinic-multiphase

# Conflicts:
#	Modules/clinic/_testclinic.c.h
@cmaloney
Move to a helper for emitting no positional args error
f89cb47
@cmaloney @claude
Merge remote-tracking branch 'upstream/main' into pythongh-150097-tes…
7337c79
…tclinic-multiphase

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@cmaloney
Merge remote-tracking branch 'upstream/main' into pythongh-150097-tes…
d0d168c
…tclinic-multiphase

# Conflicts:
#	Tools/clinic/libclinic/parse_args.py
@cmaloney cmaloney closed this Oct 21, 2026
@cmaloney cmaloney mentioned this pull request Oct 21, 2026
gh-87613: Allow Argument Clinic vectorcall on heap types #160115
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@ericsnowcurrently ericsnowcurrently Awaiting requested review from ericsnowcurrently ericsnowcurrently is a code owner
@erlend-aasland erlend-aasland Awaiting requested review from erlend-aasland erlend-aasland is a code owner
@AA-Turner AA-Turner Awaiting requested review from AA-Turner AA-Turner is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

awaiting review skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@cmaloney @skirpichev
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.