Skip to content

Conversation

@skirpichev
Copy link
Member

@skirpichevskirpichev commented Dec 14, 2024

@skirpichev
Copy link
MemberAuthor

Ok, this depend on #127925

@skirpichevskirpichev marked this pull request as draft December 14, 2024 07:30
@skirpichevskirpichev changed the title gh-127937: deprecate _PyLong_FromDigits() functiongh-128863: deprecate _PyLong_FromDigits() functionJan 23, 2025
@vstinner
Copy link
Member

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.

@vstinner
Copy link
Member

_PyLong_Copy() emits a deprecation warning. You can rename _PyLong_FromDigits() to long_fromdigits() and use this one in _PyLong_Copy().

@skirpichev
Copy link
MemberAuthor

_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.

@vstinner
Copy link
Member

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.

@skirpichev
Copy link
MemberAuthor

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.

@skirpichevskirpichev marked this pull request as ready for review January 24, 2025 06:21
@skirpichev
Copy link
MemberAuthor

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.

@vstinner
Copy link
Member

You should use _Py_COMP_DIAG_IGNORE_DEPR_DECLS in _decimal.c, as I wrote in my previous comment.

@skirpichev
Copy link
MemberAuthor

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.

@vstinnervstinner merged commit 233fd00 into python:mainJan 24, 2025
41 checks passed
@vstinner
Copy link
Member

Merged, thanks.

@skirpichevskirpichev deleted the deprecate-_PyLong_FromDigits/127937 branch January 24, 2025 12:27
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@skirpichev@vstinner