| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
@serhiy-storchaka As the creator of the corresponding issue, would you be able to review this PR? |
Sorry, something went wrong.
|
I took liberty to fix a merge conflict. |
Sorry, something went wrong.
|
This PR is stale because it has been open for 30 days with no activity. |
Sorry, something went wrong.
|
This PR is stale because it has been open for 90 days with no activity. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
In this PR we align the behavior of the copy module with the pickle module. See #93627 and #103035 for more discussion. For example:
import copy class C(object): __copy__ = None x= C() copy.copy(x) # returns a copy on main, with this PR raises a TypeErrorThe more consistent behaviour in this PR has to be weighted against the alternative option: keep the current behaviour (which is backwards compatible).
Some notes:
Changing the behaviour does not break any existing unit tests. For either this PR, or the keeping the current behaviour, we can add tests to ensure the behaviour in the future.
One variation is to change the behavior of __reduce_ex__ and __reduce__ attributes to align with pickle, but do not modify the behaviour of __copy__ and __deepcopy__ (these methods are specific for the copy module and not present in the pickle module