[3.14] gh-133970: Make PEP750 types generic (GH-133976) (#134029)

gh-133970: Make PEP750 types generic (GH-133976)
(cherry picked from commit c3a1da5b93)

Co-authored-by: sobolevn <mail@sobolevn.me>
This commit is contained in:
Miss Islington (bot) 2025-05-15 08:39:39 +02:00 committed by GitHub
parent b6299e8f16
commit f2a4b1066b
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 from tkinter import Event
except ImportError: except ImportError:
Event = None Event = None
from string.templatelib import Template, Interpolation
from typing import TypeVar from typing import TypeVar
T = TypeVar('T') T = TypeVar('T')
@ -139,7 +140,10 @@ class BaseTest(unittest.TestCase):
DictReader, DictWriter, DictReader, DictWriter,
array, array,
staticmethod, staticmethod,
classmethod] classmethod,
Template,
Interpolation,
]
if ctypes is not None: if ctypes is not None:
generic_types.extend((ctypes.Array, ctypes.LibraryLoader, ctypes.py_object)) generic_types.extend((ctypes.Array, ctypes.LibraryLoader, ctypes.py_object))
if ValueProxy is not None: 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[] = { static PyMethodDef interpolation_methods[] = {
{"__reduce__", interpolation_reduce, METH_NOARGS, {"__reduce__", interpolation_reduce, METH_NOARGS,
PyDoc_STR("__reduce__() -> (cls, state)")}, PyDoc_STR("__reduce__() -> (cls, state)")},
{"__class_getitem__", Py_GenericAlias,
METH_O|METH_CLASS, PyDoc_STR("See PEP 585")},
{NULL, NULL}, {NULL, NULL},
}; };

View file

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