bpo-32424: Rename copy() to __copy__() in Python version of xml.etree.ElementTree.#5022
Closed
GPHemsley wants to merge 1 commit intopython:masterfrom
Closed
bpo-32424: Rename copy() to __copy__() in Python version of xml.etree.ElementTree.#5022GPHemsley wants to merge 1 commit intopython:masterfrom
GPHemsley wants to merge 1 commit intopython:masterfrom
Conversation
….ElementTree.
The C version defines __copy__() and __deepcopy__() while the Python
version defines copy(). The documentation does not mention copy(), so
it is presumed to be in error. This unifies the definition of __copy__()
between the Python and C version, making the proper way to copy an
Element be copy.copy(ET.Element("foo")).
| return self.__class__(tag, attrib) | ||
|
|
||
| def copy(self): | ||
| def __copy__(self): |
Contributor
There was a problem hiding this comment.
I think this breaks the public API. I think we could do it in this way, keep the copy() method and alias it to __copy__.
Contributor
Author
There was a problem hiding this comment.
If you feel strongly about it, leave a comment on the bpo ticket. It may be worth having a discussion about what constitutes the "public" API in this case.
Contributor
Author
|
Consensus is that this is not the right approach. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The C version defines
__copy__()and__deepcopy__()while the Pythonversion defines
copy(). The documentation does not mentioncopy(), soit is presumed to be in error. This unifies the definition of
__copy__()between the Python and C version, making the proper way to copy an
Element be copy.copy(ET.Element("foo")).https://bugs.python.org/issue32424