From 7dd784e701132d1871bf02e47db44ab3ff2fbd6c Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 23 Apr 2026 04:57:40 +0200 Subject: [PATCH] [3.13] gh-142965: Fix Concatenate documentation to reflect valid use cases (GH-143316) (#148900) The documentation previously stated that Concatenate is only valid when used as the first argument to Callable, but according to PEP 612, it can also be used when instantiating user-defined generic classes with ParamSpec parameters. (cherry picked from commit 75ff1afcb6a1bb2b3d54899e9b222a61798fa491) Co-authored-by: John Seong <39040639+sandole@users.noreply.github.com> --- Doc/library/typing.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index 250c861f872c..8569e2e4491f 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -1166,7 +1166,8 @@ These can be used as types in annotations. They all support subscription using or transforms parameters of another callable. Usage is in the form ``Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable]``. ``Concatenate`` - is currently only valid when used as the first argument to a :ref:`Callable `. + is valid when used in :ref:`Callable ` type hints + and when instantiating user-defined generic classes with :class:`ParamSpec` parameters. The last parameter to ``Concatenate`` must be a :class:`ParamSpec` or ellipsis (``...``). -- 2.47.3