mirror of
https://github.com/python/cpython.git
synced 2025-07-08 03:45:36 +00:00

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`.
14 lines
334 B
C
14 lines
334 B
C
// Implementation of PEP 585: support list[int] etc.
|
|
#ifndef Py_GENERICALIASOBJECT_H
|
|
#define Py_GENERICALIASOBJECT_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
PyAPI_FUNC(PyObject *) Py_GenericAlias(PyObject *, PyObject *);
|
|
PyAPI_DATA(PyTypeObject) Py_GenericAliasType;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_GENERICALIASOBJECT_H */
|