mirror of https://github.com/python/cpython
gh-110209: Add __class_getitem__ for generator and coroutine (#110212)
This commit is contained in:
parent
b4bdf83cc6
commit
e7dafdc224
|
@ -49,7 +49,7 @@ except ImportError:
|
||||||
ShareableList = None
|
ShareableList = None
|
||||||
from os import DirEntry
|
from os import DirEntry
|
||||||
from re import Pattern, Match
|
from re import Pattern, Match
|
||||||
from types import GenericAlias, MappingProxyType, AsyncGeneratorType
|
from types import GenericAlias, MappingProxyType, AsyncGeneratorType, CoroutineType, GeneratorType
|
||||||
from tempfile import TemporaryDirectory, SpooledTemporaryFile
|
from tempfile import TemporaryDirectory, SpooledTemporaryFile
|
||||||
from urllib.parse import SplitResult, ParseResult
|
from urllib.parse import SplitResult, ParseResult
|
||||||
from unittest.case import _AssertRaisesContext
|
from unittest.case import _AssertRaisesContext
|
||||||
|
@ -120,6 +120,7 @@ class BaseTest(unittest.TestCase):
|
||||||
KeysView, ItemsView, ValuesView,
|
KeysView, ItemsView, ValuesView,
|
||||||
Sequence, MutableSequence,
|
Sequence, MutableSequence,
|
||||||
MappingProxyType, AsyncGeneratorType,
|
MappingProxyType, AsyncGeneratorType,
|
||||||
|
GeneratorType, CoroutineType,
|
||||||
DirEntry,
|
DirEntry,
|
||||||
chain,
|
chain,
|
||||||
LoggerAdapter, StreamHandler,
|
LoggerAdapter, StreamHandler,
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Add :meth:`~object.__class_getitem__` to :class:`types.GeneratorType` and :class:`types.CoroutineType` for type hinting purposes. Patch by James Hilton-Balfe.
|
|
@ -799,6 +799,7 @@ static PyMethodDef gen_methods[] = {
|
||||||
{"throw",_PyCFunction_CAST(gen_throw), METH_FASTCALL, throw_doc},
|
{"throw",_PyCFunction_CAST(gen_throw), METH_FASTCALL, throw_doc},
|
||||||
{"close",(PyCFunction)gen_close, METH_NOARGS, close_doc},
|
{"close",(PyCFunction)gen_close, METH_NOARGS, close_doc},
|
||||||
{"__sizeof__", (PyCFunction)gen_sizeof, METH_NOARGS, sizeof__doc__},
|
{"__sizeof__", (PyCFunction)gen_sizeof, METH_NOARGS, sizeof__doc__},
|
||||||
|
{"__class_getitem__", Py_GenericAlias, METH_O|METH_CLASS, PyDoc_STR("See PEP 585")},
|
||||||
{NULL, NULL} /* Sentinel */
|
{NULL, NULL} /* Sentinel */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1151,6 +1152,7 @@ static PyMethodDef coro_methods[] = {
|
||||||
{"throw",_PyCFunction_CAST(gen_throw), METH_FASTCALL, coro_throw_doc},
|
{"throw",_PyCFunction_CAST(gen_throw), METH_FASTCALL, coro_throw_doc},
|
||||||
{"close",(PyCFunction)gen_close, METH_NOARGS, coro_close_doc},
|
{"close",(PyCFunction)gen_close, METH_NOARGS, coro_close_doc},
|
||||||
{"__sizeof__", (PyCFunction)gen_sizeof, METH_NOARGS, sizeof__doc__},
|
{"__sizeof__", (PyCFunction)gen_sizeof, METH_NOARGS, sizeof__doc__},
|
||||||
|
{"__class_getitem__", Py_GenericAlias, METH_O|METH_CLASS, PyDoc_STR("See PEP 585")},
|
||||||
{NULL, NULL} /* Sentinel */
|
{NULL, NULL} /* Sentinel */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue