Annotate TypedDict as _SpecialForm rather than object. (#12985)

* Annotate TypedDict as _SpecialForm rather than object.

Let's see if this works...

* Get typing_extensions.TypedDict as well, try to fix tests.

* Import typing_extensions.TypedDict, delete _SpecialForm.__getitem__.

* Back out deletion of _SpecialForm.__getitem__.
This commit is contained in:
Rebecca Chen
2024-11-19 22:50:42 -08:00
committed by GitHub
parent 4addb8dd0b
commit 921c65304e
3 changed files with 3 additions and 5 deletions

View File

@@ -58,6 +58,7 @@ from typing import ( # noqa: Y022,Y037,Y038,Y039
TextIO as TextIO,
Tuple as Tuple,
Type as Type,
TypedDict as TypedDict,
Union as Union,
ValuesView as ValuesView,
_Alias,
@@ -255,9 +256,6 @@ class _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):
# supposedly incompatible definitions of `__ior__` and `__or__`:
def __ior__(self, value: Self, /) -> Self: ... # type: ignore[misc]
# TypedDict is a (non-subscriptable) special form.
TypedDict: object
OrderedDict = _Alias()
def get_type_hints(