[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