(Actually a self converter would be fine too. Those are only allowed to cast.) I'm not doing this; here's why. I want the call signature to the impl function to be the *idealized* signature of that function. And METH_NOARGS passes in a dumb stupid second argument that is always a NULL pointer. I just don't want that there. The long-term goal of Clinic is to let us speed up argument parsing. We'll do this by rewriting the whole approach to argument parsing. I suspect this will include not just PyArg_ParseTuple but even the whole callback mechanism, METH_O METH_NOARGS and all that. So I can live with the extra three-line function for now. Also, I assert that compilers are sufficiently smart today to fold the impl function back into the parsing function. Therefore this approach has no run-time cost. Finally, if you're trying to reduce the number of lines of generated code stomping on your poor tired eyes, consider playing with the Clinic buffer prototype: https://bitbucket.org/larry/python-clinic-buffer You can at least prototype with it before checking in for now.
Sure, I wasn't concerned with compilation, only saving lines of code. But I agree that the buffer way sounds much more promising. Just seemed odd that METH_O was clean and METH_NOARGS less so :)
History
Date
User
Action
Args
2022-04-11 14:57:56
admin
set
github: 64424
2014-01-12 13:51:34
georg.brandl
set
messages: +
2014-01-12 13:42:30
larry
set
status: open -> closedcomponents: + Demos and Toolsversions: + Python 3.4messages: + type: enhancementresolution: rejectedstage: resolved