diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2013-07-15 11:13:08 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2013-07-15 11:13:08 (GMT) |
commit | 24c05bc1542d9637550d5253306016412e5119d3 (patch) | |
tree | 12651b54b5479ed65b5b28506098632b7f796464 /Doc/whatsnew | |
parent | 6180a2f45321982386200e20bb323eb4261cf1fb (diff) | |
download | cpython-24c05bc1542d9637550d5253306016412e5119d3.zip cpython-24c05bc1542d9637550d5253306016412e5119d3.tar.gz cpython-24c05bc1542d9637550d5253306016412e5119d3.tar.bz2 |
Close issue 17482: don't overwrite __wrapped__
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r-- | Doc/whatsnew/3.4.rst | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index 4068947..2b114f1 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -315,3 +315,12 @@ that may require changes to your code. found but improperly structured. If you were catching ImportError before and wish to continue to ignore syntax or decoding issues, catch all three exceptions now. + +* :func:`functools.update_wrapper` and :func:`functools.wraps` now correctly + set the ``__wrapped__`` attribute even if the wrapped function had a + wrapped attribute set. This means ``__wrapped__`` attributes now correctly + link a stack of decorated functions rather than every ``__wrapped__`` + attribute in the chain referring to the innermost function. Introspection + libraries that assumed the previous behaviour was intentional will need to + be updated to walk the chain of ``__wrapped__`` attributes to find the + innermost function. |