On 06/06/2012 06:00 PM, Nick Coghlan wrote: > On Thu, Jun 7, 2012 at 10:52 AM, Eric Snow<ericsnowcurrently at gmail.com> wrote: >> Furthermore, using __signature__ as a cache may even cause problems. >> If the Signature object is cached then any changes to the function >> will not be reflected in the Signature object. Certainly that's an >> unlikely case, but it is a real case. [...] > +1 I'm missing something here. Can you give me an example of modifying an existing function object such that its Signature would change? Decorators implementing a closure with a different signature don't count--they return a new function object. > Providing a defined mechanism to declare a public signature is good, > but using that mechanism for implicit caching seems like a > questionable idea. Even when it *is* cached, I'd be happier if > inspect.signature() returned a copy rather than a direct reference to > the original. I'll say this: if we're going down this road of "don't cache Signature objects", then in the case of __signature__ we should definitely return a copy just for consistency's sakes. It'd be a miserable implementation if signature() sometimes returned the same object and sometimes returned different but equivalent objects when called multiple times on the same object. //arry/ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20120607/f950c5b8/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4