On Thu, Jun 7, 2012 at 11:28 PM, Michael Foord <fuzzy...@voidspace.org.uk> wrote: >> We'll probably extend it to copy __signature__ too; then >> 'signature(decor(f))' >> will be the same as 'signature(f)'. > > I don't think functools.wraps can copy the signature by default - it's not > uncommon to have decorators that modify signatures. A new parameter to > functools.wraps defaulting to False?
Most wrapped functions already report the wrong signature under introspection anyway (typically (*args, **kwds)). Following the __wrapped__ chains by default will produce an answer that is more likely to be correct in such cases. The big win from my point of view is that thanks to __signature__, decorators that modify the signature will now have the opportunity to retrieve the signature from the underlying function and accurately report a *different* signature. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com