Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
bpo-38605: Revert making 'from __future__ import annotations' the def…
…ault (GH-25490) This reverts commits 044a104 and 1be456a, adapting the code to changes that happened after it.
- Loading branch information
Showing
with
436 additions
and 523 deletions.
- +7 −3 Doc/reference/compound_stmts.rst
- +5 −2 Doc/reference/simple_stmts.rst
- +0 −16 Doc/whatsnew/3.10.rst
- +3 −10 Lib/dataclasses.py
- +2 −1 Lib/importlib/_bootstrap_external.py
- +2 −17 Lib/inspect.py
- +6 −0 Lib/test/dataclass_module_1.py
- +32 −0 Lib/test/dataclass_module_1_str.py
- +6 −0 Lib/test/dataclass_module_2.py
- +32 −0 Lib/test/dataclass_module_2_str.py
- +2 −0 Lib/test/dataclass_textanno.py
- +0 −228 Lib/test/test_annotations.py
- +8 −0 Lib/test/test_coroutines.py
- +48 −29 Lib/test/test_dataclasses.py
- +20 −18 Lib/test/test_dis.py
- +2 −2 Lib/test/test_functools.py
- +31 −25 Lib/test/test_grammar.py
- +28 −24 Lib/test/test_inspect.py
- +1 −1 Lib/test/test_opcodes.py
- +14 −3 Lib/test/test_positional_only_arg.py
- +2 −2 Lib/test/test_pydoc.py
- +8 −0 Lib/test/test_syntax.py
- +2 −2 Lib/test/test_types.py
- +11 −11 Lib/test/test_typing.py
- +0 −7 Lib/typing.py
- +5 −0 Misc/NEWS.d/next/Core and Builtins/2021-04-20-22-17-47.bpo-38605.9eeCNZ.rst
- +24 −0 Python/ast_opt.c
- +22 −9 Python/compile.c
- +1 −1 Python/future.c
- +110 −110 Python/importlib_external.h
- +1 −1 Tools/peg_generator/pegen/grammar_parser.py
- +1 −1 Tools/peg_generator/pegen/python_generator.py
| @@ -0,0 +1,32 @@ | ||
| from __future__ import annotations | ||
| USING_STRINGS = True | ||
|
|
||
| # dataclass_module_1.py and dataclass_module_1_str.py are identical | ||
| # except only the latter uses string annotations. | ||
|
|
||
| import dataclasses | ||
| import typing | ||
|
|
||
| T_CV2 = typing.ClassVar[int] | ||
| T_CV3 = typing.ClassVar | ||
|
|
||
| T_IV2 = dataclasses.InitVar[int] | ||
| T_IV3 = dataclasses.InitVar | ||
|
|
||
| @dataclasses.dataclass | ||
| class CV: | ||
| T_CV4 = typing.ClassVar | ||
| cv0: typing.ClassVar[int] = 20 | ||
| cv1: typing.ClassVar = 30 | ||
| cv2: T_CV2 | ||
| cv3: T_CV3 | ||
| not_cv4: T_CV4 # When using string annotations, this field is not recognized as a ClassVar. | ||
|
|
||
| @dataclasses.dataclass | ||
| class IV: | ||
| T_IV4 = dataclasses.InitVar | ||
| iv0: dataclasses.InitVar[int] | ||
| iv1: dataclasses.InitVar | ||
| iv2: T_IV2 | ||
| iv3: T_IV3 | ||
| not_iv4: T_IV4 # When using string annotations, this field is not recognized as an InitVar. |
| @@ -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. |
Oops, something went wrong.