bpo-42198: Document __new__ for types.GenericAlias (GH-23039)

https://github.com/python/cpython/commit/bcbf758476c1148993ddf4b54d3f6169b97... commit: bcbf758476c1148993ddf4b54d3f6169b973ee1c branch: master author: kj <28750310+Fidget-Spinner@users.noreply.github.com> committer: miss-islington <31488909+miss-islington@users.noreply.github.com> date: 2020-10-30T23:02:38-07:00 summary: bpo-42198: Document __new__ for types.GenericAlias (GH-23039) files: M Doc/library/stdtypes.rst M Doc/library/types.rst diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 3fd94ea1bd310..09477e63786c5 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -4793,7 +4793,8 @@ The ``GenericAlias`` object acts as a proxy for :term:`generic types of a generic which provides the types for container elements. The user-exposed type for the ``GenericAlias`` object can be accessed from -:data:`types.GenericAlias` and used for :func:`isinstance` checks. +:class:`types.GenericAlias` and used for :func:`isinstance` checks. It can +also be used to create ``GenericAlias`` objects directly. .. describe:: T[X, Y, ...] diff --git a/Doc/library/types.rst b/Doc/library/types.rst index 00720559d0a4a..ad40a9fbf3273 100644 --- a/Doc/library/types.rst +++ b/Doc/library/types.rst @@ -262,11 +262,22 @@ Standard names are defined for the following types: .. versionadded:: 3.10 -.. data:: GenericAlias +.. class:: GenericAlias(t_origin, t_args) The type of :ref:`parameterized generics <types-genericalias>` such as ``list[int]``. + ``t_origin`` should be a non-parameterized generic class, such as ``list``, + ``tuple`` or ``dict``. ``t_args`` should be a :class:`tuple` (possibly of + length 1) of types which parameterize ``t_origin``:: + + >>> from types import GenericAlias + + >>> list[int] == GenericAlias(list, (int,)) + True + >>> dict[str, int] == GenericAlias(dict, (str, int)) + True + .. versionadded:: 3.9 .. data:: Union
participants (1)
-
miss-islington