From 48b069a003ba6c684a9ba78493fbbec5e89f10b8 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 7 Apr 2020 09:50:06 -0700 Subject: bpo-39481: Implementation for PEP 585 (#18239) This implements things like `list[int]`, which returns an object of type `types.GenericAlias`. This object mostly acts as a proxy for `list`, but has attributes `__origin__` and `__args__` that allow recovering the parts (with values `list` and `(int,)`. There is also an approximate notion of type variables; e.g. `list[T]` has a `__parameters__` attribute equal to `(T,)`. Type variables are objects of type `typing.TypeVar`. --- Objects/tupleobject.c | 1 + 1 file changed, 1 insertion(+) (limited to 'Objects/tupleobject.c') diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c index 8a8c6ae74f..68163d8c48 100644 --- a/Objects/tupleobject.c +++ b/Objects/tupleobject.c @@ -832,6 +832,7 @@ static PyMethodDef tuple_methods[] = { TUPLE___GETNEWARGS___METHODDEF TUPLE_INDEX_METHODDEF TUPLE_COUNT_METHODDEF + {"__class_getitem__", (PyCFunction)Py_GenericAlias, METH_O|METH_CLASS, PyDoc_STR("See PEP 585")}, {NULL, NULL} /* sentinel */ }; -- cgit v1.2.1