gh-85989: deprecate float.__getformat__() class method - #146400
gh-85989: deprecate float.__getformat__() class method#146400skirpichev wants to merge 23 commits into
Conversation
|
@vstinner, please don't merge. I would appreciate a second review. |
|
in general, I like removing private, unsystematic, undocumented methods which only serve internal debugging purpose. There some things in |
The
This private API now is helpful only for alternative implementations, which run the CPython test suite. I don't see how a special testing module would help here. See #145633 (comment) for some usage examples. |
Oh dear me that was nearly 21 years ago! Unsurprisingly the details have faded a bit but I'm pretty sure this was around making |
The problem is that the CPython test suite used in alternative implementations, like PyPy. In principle they may not require IEEE-compatible formats for floats. That's why @mdickinson suggested to keep |
serhiy-storchaka
left a comment
There was a problem hiding this comment.
Would not be better to first add a field to sys.version_info? Then, few versions late, we can deprecate float.__getformat__().
Documentation build overview
321 files changed ·
|
I think there aren't, no? The sys.float_info also restricts it's scope to the |
This comment was marked as outdated.
This comment was marked as outdated.
This reverts commit 40f9873.
ee74068 to
1389d58
Compare
This comment has been minimized.
This comment has been minimized.
| self.assertEqual(dict.fromkeys.__qualname__, 'dict.fromkeys') | ||
| self.assertEqual(float.__getformat__.__qualname__, | ||
| 'float.__getformat__') | ||
| self.assertEqual(int.from_bytes.__qualname__, 'int.from_bytes') |
There was a problem hiding this comment.
Should the replacement also be a dunder method?
There was a problem hiding this comment.
There is nothing special for such case, except for a name.
Commentary says those should be class methods. I would guess not so many were available in v3.2, when the test was added (5b62942).
|
I don't think that you can simply deprecate (and later remove) We need a replacement like See the SC decision: capi-workgroup/decisions#107 (comment). Can you write a first PR to add |
What this flag (?) will mean? Current testing helper has no clear meaning, it's a poor-mans replacement for |
|
@vstinner, should I restore #138811 with a correction that if I worry, that we could have false positives on this road. As Mark said in the issue thread, we have no reliable way to tell whether floats use IEEE 754 (I don't see any other appropriate meaning for the new flag). |
# Conflicts: # Doc/whatsnew/3.16.rst
📚 Documentation preview 📚: https://cpython-previews--146400.org.readthedocs.build/