Skip to content

[3.8] bpo-38293: Allow shallow and deep copying of property objects (GH-16438)#17969

Merged
miss-islington merged 1 commit into
python:3.8from
miss-islington:backport-9f3fc6c-3.8
Jan 12, 2020
Merged

[3.8] bpo-38293: Allow shallow and deep copying of property objects (GH-16438)#17969
miss-islington merged 1 commit into
python:3.8from
miss-islington:backport-9f3fc6c-3.8

Conversation

@miss-islington

@miss-islington miss-islington commented Jan 12, 2020

Copy link
Copy Markdown
Contributor

Copying property objects results in a TypeError. Steps to reproduce:

>>> import copy
>>> obj = property()
>>> copy.copy(obj)

This affects both shallow and deep copying.
My idea for a fix is to add property objects to the list of "atomic" objects in the copy module.
These already include types like functions and type objects.

I also added property objects to the unit tests test_copy_atomic and test_deepcopy_atomic. This is my first PR, and it's highly likely I've made some mistake, so please be kind :)

https://bugs.python.org/issue38293
(cherry picked from commit 9f3fc6c)

Co-authored-by: Guðni Natan Gunnarsson 1493259+GudniNatan@users.noreply.github.com

https://bugs.python.org/issue38293

…GH-16438)

Copying property objects results in a TypeError. Steps to reproduce:

```
>>> import copy
>>> obj = property()
>>> copy.copy(obj)
````

This affects both shallow and deep copying.
My idea for a fix is to add property objects to the list of "atomic" objects in the copy module.
These already include types like functions and type objects.

I also added property objects to the unit tests test_copy_atomic and test_deepcopy_atomic. This is my first PR, and it's highly likely I've made some mistake, so please be kind :)

https://bugs.python.org/issue38293
(cherry picked from commit 9f3fc6c)

Co-authored-by: Guðni Natan Gunnarsson <1493259+GudniNatan@users.noreply.github.com>
@miss-islington

Copy link
Copy Markdown
Contributor Author

@GudniNatan: Status check is done, and it's a success ✅ .

@miss-islington
miss-islington merged commit 3043ec7 into python:3.8 Jan 12, 2020
@miss-islington
miss-islington deleted the backport-9f3fc6c-3.8 branch January 12, 2020 18:04
@miss-islington

Copy link
Copy Markdown
Contributor Author

@GudniNatan: Status check is done, and it's a success ✅ .

1 similar comment
@miss-islington

Copy link
Copy Markdown
Contributor Author

@GudniNatan: Status check is done, and it's a success ✅ .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type-feature A feature request or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants