@@ -644,8 +644,9 @@ The :mod:`functools` module defines the following functions:
644
644
attributes of the wrapper function are updated with the corresponding attributes
645
645
from the original function. The default values for these arguments are the
646
646
module level constants ``WRAPPER_ASSIGNMENTS `` (which assigns to the wrapper
647
- function's ``__module__ ``, ``__name__ ``, ``__qualname__ ``, ``__annotations__ ``
648
- and ``__doc__ ``, the documentation string) and ``WRAPPER_UPDATES `` (which
647
+ function's ``__module__ ``, ``__name__ ``, ``__qualname__ ``, ``__annotations__ ``,
648
+ ``__type_params__ ``, and ``__doc__ ``, the documentation string)
649
+ and ``WRAPPER_UPDATES `` (which
649
650
updates the wrapper function's ``__dict__ ``, i.e. the instance dictionary).
650
651
651
652
To allow access to the original function for introspection and other purposes
@@ -675,6 +676,9 @@ The :mod:`functools` module defines the following functions:
675
676
function, even if that function defined a ``__wrapped__ `` attribute.
676
677
(see:issue: `17482 `)
677
678
679
+ ..versionchanged ::3.12
680
+ The ``__type_params__ `` attribute is now copied by default.
681
+
678
682
679
683
..decorator ::wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
680
684