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