Miss Islington (bot)
32e58fc321
bpo-34213: Allow dataclasses to work with a field named 'object'. (GH-8452)
...
(cherry picked from commit 4d12e4dc28 )
Co-authored-by: Vadim Pushtaev <pushtaev.vm@gmail.com >
2018-08-12 20:32:44 -07:00
Miss Islington (bot)
635338248f
bpo-34184: Fix running Lib/test/test_dataclasses.py as a script. (GH-8382) (GH-8421)
...
(cherry picked from commit 3fe5cccb08 )
2018-07-24 00:25:11 +03:00
Miss Islington (bot)
bbef7abe92
bpo-33805: Improve error message of dataclasses.replace() (GH-7580)
...
(cherry picked from commit 3d70f7aef6 )
Co-authored-by: Dong-hee Na <donghee.na92@gmail.com >
2018-06-23 08:04:01 -07:00
Miss Islington (bot)
0aee3bea19
bpo-33796: Ignore ClassVar for dataclasses.replace(). (GH-7488)
...
(cherry picked from commit e7adf2ba41 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-06-07 13:15:23 -07:00
Miss Islington (bot)
6409e759df
bpo-33536: Validate make_dataclass() field names. (GH-6906)
...
(cherry picked from commit 4e81296b18 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-05-16 09:28:22 -07:00
Miss Islington (bot)
c73268aad7
bpo-33453: Handle string type annotations in dataclasses. (GH-6768)
...
(cherry picked from commit 2a7bacbd91 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-05-15 21:22:13 -07:00
Miss Islington (bot)
83f564fd24
Clean up and enhance frozen dataclass tests. (GH-6380)
...
* Add a test for frozen with unhashable field value.
* Improve a comment.
(cherry picked from commit 74940913d2 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-04-05 04:12:31 -07:00
Miss Islington (bot)
d063ad8962
Allow dynamic creation of generic dataclasses (GH-6319) (GH-6320)
...
(cherry picked from commit 5a7092de12 )
Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com >
2018-04-01 12:33:13 +01:00
Miss Islington (bot)
faa6f5c74c
bpo-33175: dataclasses should look up __set_name__ on class, not instance (GH-6305)
...
(cherry picked from commit 521995205a )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-29 08:32:36 -07:00
Miss Islington (bot)
c6147acd2c
bpo-33141: Have dataclasses.Field pass through __set_name__ to any default argument. (GH-6260)
...
This is part of PEP 487 and the descriptor protocol.
(cherry picked from commit de7a2f04d6 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-26 10:55:13 -07:00
Miss Islington (bot)
5fc6fc85c4
Minor fixes to dataclass tests. (GH-6243)
...
Also, re-enable a test for ClassVars with default_factory.
(cherry picked from commit 2b75fc2bc9 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-25 18:00:43 -07:00
Miss Islington (bot)
5666a55da8
Trivial improvements to dataclasses tests. (GH-6234)
...
(cherry picked from commit 51c9ab42ab )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-25 06:27:50 -07:00
Miss Islington (bot)
5729b9c0e9
Fix invalid escape sequence: use raw string. (GH-6225)
...
(cherry picked from commit c42e7aa67c )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-24 20:23:00 -07:00
Miss Islington (bot)
3b4c6b16c5
bpo-32505: dataclasses: raise TypeError if a member variable is of type Field, but doesn't have a type annotation. (GH-6192)
...
If a dataclass has a member variable that's of type Field, but it doesn't have a type annotation, raise TypeError.
(cherry picked from commit 56970b8ce9 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-22 13:58:59 -07:00
Miss Islington (bot)
4ddc99d159
bpo-33116: Add 'Field' to dataclasses.__all__. (GH-6182) (GH-6183)
...
- Add missing 'Field' to __all__.
- Improve tests to catch this.
(cherry picked from commit 8e4560a9da )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-21 17:44:23 -04:00
Miss Islington (bot)
22136c94b6
bpo-32896: Fix error when subclassing a dataclass with a field that uses a default_factory (GH-6170) (GH-6171)
...
Fix the way that new annotations in a class are detected.
(cherry picked from commit 8f6eccdc64 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-21 05:17:30 -04:00
Miss Islington (bot)
3d41f48259
bpo-33100: Dataclasses now handles __slots__ and default values correctly. (GH-6152) (GH-6153)
...
If the class has a member that's a MemberDescriptorType, it's not a default value, it's from that member being in __slots__.
(cherry picked from commit 7389fd935c )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-19 21:31:22 -04:00
Miss Islington (bot)
45648312e5
bpo-32953: Dataclasses: frozen should not be inherited for non-dataclass derived classes (GH-6147) (GH-6148)
...
If a non-dataclass derives from a frozen dataclass, allow attributes to be set.
Require either all of the dataclasses in a class hierarchy to be frozen, or all non-frozen.
Store `@dataclass` parameters on the class object under `__dataclass_params__`. This is needed to detect frozen base classes.
(cherry picked from commit f199bc655e )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-03-18 21:03:36 -04:00
Miss Islington (bot)
a93e3dc236
bpo-32960: For dataclasses, disallow inheriting frozen from non-frozen classes and vice-versa, (GH-5919) (GH-5920)
...
This restriction will be relaxed at a future date.
(cherry picked from commit 2fa6b9eae0 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-02-26 20:59:55 -05:00
Miss Islington (bot)
4cffe2f66b
bpo-32929: Dataclasses: Change the tri-state hash parameter to the boolean unsafe_hash. (GH-5891) (GH-5902)
...
unsafe_hash=False is now the default. It is the same behavior as the old hash=None parameter. unsafe_hash=True will try to add __hash__. If it already exists, TypeError is raised.
(cherry picked from commit dbf9cff48a )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-02-26 04:43:35 -05:00
Miss Islington (bot)
1a5790689f
Fix 'deecorator' typo in test/test_dataclasses (GH-5899)
...
(cherry picked from commit 973cae07d6 )
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu >
2018-02-25 19:09:05 -08:00
Miss Islington (bot)
b6b6669cfd
Exhaustively test dataclass hashing when no hash= value is provided. This is in anticipation of changing how non-default hashing is handled. (GH-5834) (GH-5889)
...
(cherry picked from commit 718070db26 )
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com >
2018-02-25 11:56:30 -05:00
Eric V. Smith
7c99e931a9
Fix trivial typo in test_dataclasses.py. (GH-5398)
2018-01-28 19:18:55 -05:00
Eric V. Smith
ea8fc52e75
bpo-32513: Make it easier to override dunders in dataclasses. (GH-5366)
...
Class authors no longer need to specify repr=False if they want to provide a custom __repr__ for dataclasses. The same thing applies for the other dunder methods that the dataclass decorator adds. If dataclass finds that a dunder methods is defined in the class, it will not overwrite it.
2018-01-27 19:07:40 -05:00
Eric V. Smith
d80b443f02
bpo-32279: Add additional params to make_dataclass(), pass through to dataclass(). (gh-5117)
2018-01-06 17:09:58 -05:00