Issue 20422: Signature.from_builtin should raise a ValueError when no signature can be provided (original) (raw)

Created on 2014-01-28 17:00 by yselivanov, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
from_builtin_errors_01.patch yselivanov,2014-01-28 21:27 review
Messages (6)
msg209565 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2014-01-28 17:00
Right now it may return `None` if no signature can be returned for the given builtin. If we decide to implement #17373 in 3.5, I'd like all three methods -- from_builtin, from_function, from_callable -- to either return a signature or to raise an exception.
msg209586 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2014-01-28 21:27
A patch is attached, please review.
msg209638 - (view) Author: Alyssa Coghlan (ncoghlan) * (Python committer) Date: 2014-01-29 12:36
This proposal and patch look good to me. The current behaviour definitely isn't desirable: >>> import inspect >>> inspect.Signature.from_function(1) Traceback (most recent call last): File "", line 1, in File "/home/ncoghlan/devel/py3k/Lib/inspect.py", line 1888, in from_function raise TypeError('{!r} is not a Python function'.format(func)) TypeError: 1 is not a Python function >>> inspect.Signature.from_builtin(1) >>> Signature.from_function() and Signature.from_builtin() should both also be documented, but we may want to wait for PEP 457 and #17373 in Python 3.5 before sorting all that out.
msg209649 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014-01-29 15:46
New changeset 9433b380ad33 by Yury Selivanov in branch 'default': inspect.Signature: Make from_builtin to raise an exception if no signature can http://hg.python.org/cpython/rev/9433b380ad33
msg209650 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2014-01-29 15:47
Nick, thanks for the review. Committed.
msg209651 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2014-01-29 15:49
> Signature.from_function() and Signature.from_builtin() should both also be documented, but we may want to wait for PEP 457 and #17373 in Python 3.5 before sorting all that out. I would like to wait till 3.5 too. Right now both of them are sort of "private" API, so we still have the liberty to adjust their behaviour in 3.5 if needed.
History
Date User Action Args
2022-04-11 14:57:57 admin set github: 64621
2014-01-29 15:49:12 yselivanov set messages: +
2014-01-29 15:47:10 yselivanov set status: open -> closedresolution: fixedmessages: +
2014-01-29 15:46:28 python-dev set nosy: + python-devmessages: +
2014-01-29 12:36:44 ncoghlan set messages: +
2014-01-28 21:27:50 yselivanov set keywords: + needs review, patchfiles: + from_builtin_errors_01.patchmessages: + stage: patch review
2014-01-28 17:00:19 yselivanov create