diff options
author | Eric V. Smith <ericvsmith@users.noreply.github.com> | 2018-05-16 02:44:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-16 02:44:27 (GMT) |
commit | 2a7bacbd913cf2bf568b3c0f85a758946d3cf4e9 (patch) | |
tree | 72139540fcd8f6824c8265cb7ed4515b3d3a0c37 /Lib/test/dataclass_module_2_str.py | |
parent | d8dcd57edb88ce57063e5c2b85fe0ee1abb1ce8b (diff) | |
download | cpython-2a7bacbd913cf2bf568b3c0f85a758946d3cf4e9.zip cpython-2a7bacbd913cf2bf568b3c0f85a758946d3cf4e9.tar.gz cpython-2a7bacbd913cf2bf568b3c0f85a758946d3cf4e9.tar.bz2 |
bpo-33453: Handle string type annotations in dataclasses. (GH-6768)
Diffstat (limited to 'Lib/test/dataclass_module_2_str.py')
-rw-r--r-- | Lib/test/dataclass_module_2_str.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Lib/test/dataclass_module_2_str.py b/Lib/test/dataclass_module_2_str.py new file mode 100644 index 0000000..b363d17 --- /dev/null +++ b/Lib/test/dataclass_module_2_str.py @@ -0,0 +1,32 @@ +from __future__ import annotations +USING_STRINGS = True + +# dataclass_module_2.py and dataclass_module_2_str.py are identical +# except only the latter uses string annotations. + +from dataclasses import dataclass, InitVar +from typing import ClassVar + +T_CV2 = ClassVar[int] +T_CV3 = ClassVar + +T_IV2 = InitVar[int] +T_IV3 = InitVar + +@dataclass +class CV: + T_CV4 = ClassVar + cv0: ClassVar[int] = 20 + cv1: ClassVar = 30 + cv2: T_CV2 + cv3: T_CV3 + not_cv4: T_CV4 # When using string annotations, this field is not recognized as a ClassVar. + +@dataclass +class IV: + T_IV4 = InitVar + iv0: InitVar[int] + iv1: InitVar + iv2: T_IV2 + iv3: T_IV3 + not_iv4: T_IV4 # When using string annotations, this field is not recognized as an InitVar. |