gh-128863: deprecate _PyLong_FromDigits() function by skirpichev · Pull Request #127939 · python/cpython
skirpichev
changed the title
gh-127937: deprecate _PyLong_FromDigits() function
gh-128863: deprecate _PyLong_FromDigits() function
Ok, this depend on #127925
You can use the macros in _decimal:
_Py_COMP_DIAG_PUSH
_Py_COMP_DIAG_IGNORE_DEPR_DECLS
...
_Py_COMP_DIAG_POP
See examples in Modules/_testcapimodule.c.
_PyLong_Copy() emits a deprecation warning. You can rename _PyLong_FromDigits() to long_fromdigits() and use this one in _PyLong_Copy().
_PyLong_Copy() emits a deprecation warning.
This is a draft due to #127925.
You can rename _PyLong_FromDigits() to long_fromdigits() and use this one in _PyLong_Copy().
That does make sense if no stdlib module will depend on _PyLong_FromDigits(). Unfortunately, there is no short cut for copy.copy() in C-API.
This is a draft due to #127925.
I'm not sure that PR gh-127925 is ever going to be merged :-(
That does make sense if no stdlib module will depend on _PyLong_FromDigits(). Unfortunately, there is no short cut for copy.copy() in C-API.
I didn't understand your comment. I'm only proposing a local "fix" for _PyLong_Copy() to avoid the deprecation warning.
I didn't understand your comment.
Nevermind, I was thinking about _PyLong_Copy(), which is also public now.
I'm only proposing a local "fix" for _PyLong_Copy() to avoid the deprecation warning.
That seems fine. But maybe we should just inline code, it's not used anywhere else in the longobject.c.
Ok, I did this ready for review. Once #127925 will be merged - this should pass tests.
After some thinking, the _PyLong_FromDigits() code was inlined in the _PyLong_Copy(). I doubt we need for _PyLong_FromDigits() in future.
You should use _Py_COMP_DIAG_IGNORE_DEPR_DECLS in _decimal.c, as I wrote in my previous comment.
No, this rather fits for testing code.
skirpichev
deleted the
deprecate-_PyLong_FromDigits/127937
branch