]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39481: PEP 585 for enumerate, AsyncGeneratorType, mmap (GH-19421)
authorEthan Smith <ethan@ethanhs.me>
Fri, 10 Apr 2020 04:25:53 +0000 (21:25 -0700)
committerGitHub <noreply@github.com>
Fri, 10 Apr 2020 04:25:53 +0000 (21:25 -0700)
Lib/test/test_genericalias.py
Modules/mmapmodule.c
Objects/enumobject.c
Objects/genobject.c

index 535c2492574b3ca0a3eb89fe762b2e87e09939d3..196b059dfa0dd09b7f3bd81979b1304ff554dfa3 100644 (file)
@@ -7,11 +7,12 @@ from collections import (
 )
 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 @@ class BaseTest(unittest.TestCase):
                   Mapping, MutableMapping, MappingView,
                   KeysView, ItemsView, ValuesView,
                   Sequence, MutableSequence,
-                  MappingProxyType,
+                  MappingProxyType, AsyncGeneratorType,
                   DirEntry,
                   IPv4Network, IPv4Interface, IPv6Network, IPv6Interface,
-                  MappingProxyType, DirEntry,
                   chain,
                   ):
             tname = t.__name__
index a5c0ae0eaf065a3f835e76d01e0e08f7e66a48ab..a1267bdd549c14d55f836ac11d0f17501d086f2e 100644 (file)
@@ -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 */
 };
 
index 75703be5fcfc54ff8ddbe989ed20132a4832b98d..4a83bb45aa6678e2105593a3345779ac0e0b3b71 100644 (file)
@@ -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 */
 };
 
index 6bb08aeaff76b4332428a47ad232d7f819e8ede8..d3455f8dcd7923ccbe59f6c059802efa33703dc0 100644 (file)
@@ -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 */
 };