gh-133970: Make PEP750 types generic (#133976)

This commit is contained in:
sobolevn 2025-05-15 09:11:46 +03:00 committed by GitHub
parent e123a1d09b
commit c3a1da5b93
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 11 additions and 1 deletions

View file

@ -61,6 +61,7 @@ try:
from tkinter import Event
except ImportError:
Event = None
from string.templatelib import Template, Interpolation
from typing import TypeVar
T = TypeVar('T')
@ -139,7 +140,10 @@ class BaseTest(unittest.TestCase):
DictReader, DictWriter,
array,
staticmethod,
classmethod]
classmethod,
Template,
Interpolation,
]
if ctypes is not None:
generic_types.extend((ctypes.Array, ctypes.LibraryLoader, ctypes.py_object))
if ValueProxy is not None:

View file

@ -0,0 +1,2 @@
Make :class:`!string.templatelib.Template` and
:class:`!string.templatelib.Interpolation` generic.

View file

@ -137,6 +137,8 @@ interpolation_reduce(PyObject *op, PyObject *Py_UNUSED(dummy))
static PyMethodDef interpolation_methods[] = {
{"__reduce__", interpolation_reduce, METH_NOARGS,
PyDoc_STR("__reduce__() -> (cls, state)")},
{"__class_getitem__", Py_GenericAlias,
METH_O|METH_CLASS, PyDoc_STR("See PEP 585")},
{NULL, NULL},
};

View file

@ -444,6 +444,8 @@ template_reduce(PyObject *op, PyObject *Py_UNUSED(dummy))
static PyMethodDef template_methods[] = {
{"__reduce__", template_reduce, METH_NOARGS, NULL},
{"__class_getitem__", Py_GenericAlias,
METH_O|METH_CLASS, PyDoc_STR("See PEP 585")},
{NULL, NULL},
};