Paul Ganssle <p.gans...@gmail.com> added the comment:

I've put *a* fix in there by introducing a new wrapper function. Ideally we 
would just point the C API at the argument clinic-generated function, but 
because it takes a single positional argument the argument clinic outputs a 
METH_O function instead of METH_VARARGS.

I think these are the options:

1. Modify the argument clinic spec to force METH_VARARGS for a single 
positional argument taking an object - if that's possible.
2. Maintain a wrapper function for the C API that just unpacks the tuple and 
passes it to the date_fromtimestamp function that the argument clinic is *also* 
wrapping.
3. Revert the argument clinic change and manually manage the date_fromtimestamp 
function as a METH_VARARGS classmethod.

I don't know enough about the argument clinic to know if #1 is feasible, if it 
is and someone can point me in the right direction, I can update my PR. If not, 
I think I mildly prefer #2, since maintaining a thin wrapper that unpacks a 
tuple is not terribly difficult compared to maintaining the method definition 
stuff.

Since this was an accidental break in the C API, I've marked it as a release 
blocker.

----------
nosy: +lukasz.langa
priority: normal -> release blocker

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36025>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to