Repository navigation
gh-161311: Document inherited abstract methods in collections.abc - #161319
Conversation
Documentation build overview
|
picnixz
left a comment
There was a problem hiding this comment.
I had troubles indeed knowing what was marked as abstract and what was not, but I think this is correct here. Can you check that all classes in the table that do not have a column in abstract methods are really concrete classes that can be instantiated?
|
I checked the four classes with empty "Abstract Methods" cells: All four have empty So the empty cells appear to be correct. |
…text Added a note about the 'Abstract Methods' column in the collections ABCs documentation.
|
For backports, can you check that all the methods you added were already abstract since 3.14? I just don't want to backport a wrong doc change |
|
I checked the source code for the Python 3.14.0 release ( Both methods were already abstract:
Neither class provides a concrete implementation of the inherited method, so both additions are valid for the 3.14 documentation backport. |
|
Thanks @Bayel1602 for the PR, and @picnixz for merging it 🌮🎉.. I'm working now to backport this PR to: 3.14, 3.15. |
|
GH-161330 is a backport of this pull request to the 3.15 branch. |
|
GH-161331 is a backport of this pull request to the 3.14 branch. |
|
Arf, I missed a typo, but I fixed the backport. Could you.. open another PR for fixing the typo please? The collections module offers the following :term:`ABCs <abstract base class>`:
The "Abstract Methods" column lists all required abstract methods,
including those inherited from parent classes.should be The collections module offers the following :term:`ABCs <abstract base class>`,
where the "Abstract Methods" column lists all required abstract methods,
including those inherited from parent classes:(otherwise the |
|
I've opened a follow-up PR to fix the introductory text: #161333 |
Summary
Update the
collections.abcdocumentation table to consistently list all required abstract methods, including inherited ones.__iter__()toReversible(inherited fromIterable).__await__()toCoroutine(inherited fromAwaitable).The existing table structure remains unchanged.
Closes #161311