From 4de03ead08e78a50ee8224d619eb7b88e0ef2b0b Mon Sep 17 00:00:00 2001 From: Ethan Smith Date: Tue, 7 Apr 2020 14:52:32 -0700 Subject: [PATCH] Generic itertools.chain --- Lib/test/test_genericalias.py | 4 +++- Modules/itertoolsmodule.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_genericalias.py b/Lib/test/test_genericalias.py index 9c5b23e5e5b0fc6..d8acdee2da3e264 100644 --- a/Lib/test/test_genericalias.py +++ b/Lib/test/test_genericalias.py @@ -7,6 +7,7 @@ ) from collections.abc import * from contextlib import AbstractContextManager, AbstractAsyncContextManager +from itertools import chain from os import DirEntry from re import Pattern, Match from types import GenericAlias, MappingProxyType @@ -35,7 +36,8 @@ def test_subscriptable(self): Mapping, MutableMapping, MappingView, KeysView, ItemsView, ValuesView, Sequence, MutableSequence, - MappingProxyType, DirEntry + MappingProxyType, DirEntry, + chain, ): tname = t.__name__ with self.subTest(f"Testing {tname}"): diff --git a/Modules/itertoolsmodule.c b/Modules/itertoolsmodule.c index e99c964ac1d7903..4ebeb741b6b5c88 100644 --- a/Modules/itertoolsmodule.c +++ b/Modules/itertoolsmodule.c @@ -2028,6 +2028,8 @@ static PyMethodDef chain_methods[] = { reduce_doc}, {"__setstate__", (PyCFunction)chain_setstate, METH_O, setstate_doc}, + {"__class_getitem__", (PyCFunction)Py_GenericAlias, + METH_O|METH_CLASS, PyDoc_STR("See PEP 585")}, {NULL, NULL} /* sentinel */ };