Brett Cannon wrote:
Exactly, which is why I'm not asking for __signature__ to be immutable. Who knows, despite Larry's skepticism (and mine!), perhaps there is a use-case for __signature__ being modified that we haven't thought of yet. But that's not really the point. It may be that nobody will be stupid enough to mangle __signature__, and inspect.getfullargspec becomes redundant. Even so, getfullargspec is not doing any harm. We're not *adding* complexity, it's already there, and breaking currently working code by deprecating and then removing it is not a step we should take lightly. API churn is itself a cost.On Wed, Jun 6, 2012 at 12:16 PM, Steven D'Aprano <[email protected]>wrote:Larry Hastings wrote: [...]"Changes to the Signature object, or to any of its data members, do not affect the function itself." which leaves the possibility that __signature__ may no longer match the actual argument spec, for some reason. If you remove getfullargspec, people will have to reinvent it to deal with such cases.There's no reason why they should disagree. The "some reason" would be if some doorknob decided to change it--the objects are mutable, because there's no good reason to make them immutable.Nevertheless, the world is full of doorknobs, and people will have to deal with their code.This is also Python, the language that assumes everyone is an consenting adult.
[...]
If people really want to keep getullargspec() around then I want to at least add a note to the function that signature objects exist as an alternative (but not vice-versa).
+1 -- Steven _______________________________________________ Python-Dev mailing list [email protected] http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com