17db96d56Sopenharmony_ci#from __future__ import annotations
27db96d56Sopenharmony_ciUSING_STRINGS = False
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci# dataclass_module_2.py and dataclass_module_2_str.py are identical
57db96d56Sopenharmony_ci# except only the latter uses string annotations.
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_cifrom dataclasses import dataclass, InitVar
87db96d56Sopenharmony_cifrom typing import ClassVar
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ciT_CV2 = ClassVar[int]
117db96d56Sopenharmony_ciT_CV3 = ClassVar
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ciT_IV2 = InitVar[int]
147db96d56Sopenharmony_ciT_IV3 = InitVar
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ci@dataclass
177db96d56Sopenharmony_ciclass CV:
187db96d56Sopenharmony_ci    T_CV4 = ClassVar
197db96d56Sopenharmony_ci    cv0: ClassVar[int] = 20
207db96d56Sopenharmony_ci    cv1: ClassVar = 30
217db96d56Sopenharmony_ci    cv2: T_CV2
227db96d56Sopenharmony_ci    cv3: T_CV3
237db96d56Sopenharmony_ci    not_cv4: T_CV4  # When using string annotations, this field is not recognized as a ClassVar.
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci@dataclass
267db96d56Sopenharmony_ciclass IV:
277db96d56Sopenharmony_ci    T_IV4 = InitVar
287db96d56Sopenharmony_ci    iv0: InitVar[int]
297db96d56Sopenharmony_ci    iv1: InitVar
307db96d56Sopenharmony_ci    iv2: T_IV2
317db96d56Sopenharmony_ci    iv3: T_IV3
327db96d56Sopenharmony_ci    not_iv4: T_IV4  # When using string annotations, this field is not recognized as an InitVar.
33