[Python-Dev] Updated PEP 362 (Function Signature Object)
Nick Coghlan
ncoghlan at gmail.com
Thu Jun 7 03:00:20 CEST 2012
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. If f.__signature__ is set, I'd
> expect it to be either an explicitly set value or exactly the same as
> the first time inspect.signature() was called for that function. We
> could make promises about that and do dynamic updates, etc., but it's
> not useful enough to go to the trouble. And without the guarantees, I
> don't think using it as a cache is a good idea. (And like I said,
> allowing/using an explicitly set f.__signature__ is a good thing).
+1
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.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev
mailing list