mirror of
https://github.com/python/cpython.git
synced 2024-12-17 05:43:48 +08:00
48b069a003
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`.
15 lines
334 B
C
15 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 */
|