[Python-checkins] bpo-39481: PEP 585 for enumerate, AsyncGeneratorType, mmap (GH-19421)
Ethan Smith
webhook-mailer at python.org
Fri Apr 10 00:26:01 EDT 2020
https://github.com/python/cpython/commit/7c4185d62d4aec486d82c3ad02acd878db2d3537
commit: 7c4185d62d4aec486d82c3ad02acd878db2d3537
branch: master
author: Ethan Smith <ethan at ethanhs.me>
committer: GitHub <noreply at github.com>
date: 2020-04-09T21:25:53-07:00
summary:
bpo-39481: PEP 585 for enumerate, AsyncGeneratorType, mmap (GH-19421)
files:
M Lib/test/test_genericalias.py
M Modules/mmapmodule.c
M Objects/enumobject.c
M Objects/genobject.c
diff --git a/Lib/test/test_genericalias.py b/Lib/test/test_genericalias.py
index 535c2492574b3..196b059dfa0dd 100644
--- a/Lib/test/test_genericalias.py
+++ b/Lib/test/test_genericalias.py
@@ -7,11 +7,12 @@
)
from collections.abc import *
from contextlib import AbstractContextManager, AbstractAsyncContextManager
+from mmap import mmap
from ipaddress import IPv4Network, IPv4Interface, IPv6Network, IPv6Interface
from itertools import chain
from os import DirEntry
from re import Pattern, Match
-from types import GenericAlias, MappingProxyType
+from types import GenericAlias, MappingProxyType, AsyncGeneratorType
import typing
from typing import TypeVar
@@ -21,7 +22,8 @@ class BaseTest(unittest.TestCase):
"""Test basics."""
def test_subscriptable(self):
- for t in (type, tuple, list, dict, set, frozenset,
+ for t in (type, tuple, list, dict, set, frozenset, enumerate,
+ mmap,
defaultdict, deque,
OrderedDict, Counter, UserDict, UserList,
Pattern, Match,
@@ -37,10 +39,9 @@ def test_subscriptable(self):
Mapping, MutableMapping, MappingView,
KeysView, ItemsView, ValuesView,
Sequence, MutableSequence,
- MappingProxyType,
+ MappingProxyType, AsyncGeneratorType,
DirEntry,
IPv4Network, IPv4Interface, IPv6Network, IPv6Interface,
- MappingProxyType, DirEntry,
chain,
):
tname = t.__name__
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index a5c0ae0eaf065..a1267bdd549c1 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -816,6 +816,8 @@ static struct PyMethodDef mmap_object_methods[] = {
#ifdef MS_WINDOWS
{"__sizeof__", (PyCFunction) mmap__sizeof__method, METH_NOARGS},
#endif
+ {"__class_getitem__", (PyCFunction)Py_GenericAlias, METH_O|METH_CLASS,
+ PyDoc_STR("See PEP 585")},
{NULL, NULL} /* sentinel */
};
diff --git a/Objects/enumobject.c b/Objects/enumobject.c
index 75703be5fcfc5..4a83bb45aa667 100644
--- a/Objects/enumobject.c
+++ b/Objects/enumobject.c
@@ -201,6 +201,8 @@ PyDoc_STRVAR(reduce_doc, "Return state information for pickling.");
static PyMethodDef enum_methods[] = {
{"__reduce__", (PyCFunction)enum_reduce, METH_NOARGS, reduce_doc},
+ {"__class_getitem__", (PyCFunction)Py_GenericAlias,
+ METH_O|METH_CLASS, PyDoc_STR("See PEP 585")},
{NULL, NULL} /* sentinel */
};
diff --git a/Objects/genobject.c b/Objects/genobject.c
index 6bb08aeaff76b..d3455f8dcd792 100644
--- a/Objects/genobject.c
+++ b/Objects/genobject.c
@@ -1346,6 +1346,8 @@ static PyMethodDef async_gen_methods[] = {
{"asend", (PyCFunction)async_gen_asend, METH_O, async_asend_doc},
{"athrow",(PyCFunction)async_gen_athrow, METH_VARARGS, async_athrow_doc},
{"aclose", (PyCFunction)async_gen_aclose, METH_NOARGS, async_aclose_doc},
+ {"__class_getitem__", (PyCFunction)Py_GenericAlias,
+ METH_O|METH_CLASS, PyDoc_STR("See PEP 585")},
{NULL, NULL} /* Sentinel */
};
More information about the Python-checkins
mailing list