Author scoder
Recipients benjamin.peterson, eric.araujo, larry, ncoghlan, pitrou, python-dev, scoder, terry.reedy, yselivanov
Date 2014-02-13.21:37:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1392327461.13.0.415035573044.issue17159@psf.upfronthosting.co.za>
In-reply-to
Content
>>> inspect.isbuiltin() returns False
>> Are you absolutely sure about this?
> Yes.

Oh, well...

isbuiltin(cyfunction) *does* return False. However, ismethoddescriptor(cyfunction) returns True, because Cython's functions bind as methods and thus have a "__get__()" (but no __set__()). Therefore, _signature_is_builtin(cyfunction) returns True, and the Signature.from_builtin(cyfunction) code path is taken and fails.

So, once again:

If the intention is to test that a callable has a "__text_signature__", then the code should test for the existance of "__text_signature__". It should *not* try to test for types that may or may not have such an attribute, and then just fail if it surprisingly does not find it.
History
Date User Action Args
2014-02-13 21:37:41scodersetrecipients: + scoder, terry.reedy, ncoghlan, pitrou, larry, benjamin.peterson, eric.araujo, python-dev, yselivanov
2014-02-13 21:37:41scodersetmessageid: <1392327461.13.0.415035573044.issue17159@psf.upfronthosting.co.za>
2014-02-13 21:37:41scoderlinkissue17159 messages
2014-02-13 21:37:40scodercreate