Message211174
>>> 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. |
|
Date |
User |
Action |
Args |
2014-02-13 21:37:41 | scoder | set | recipients:
+ scoder, terry.reedy, ncoghlan, pitrou, larry, benjamin.peterson, eric.araujo, python-dev, yselivanov |
2014-02-13 21:37:41 | scoder | set | messageid: <1392327461.13.0.415035573044.issue17159@psf.upfronthosting.co.za> |
2014-02-13 21:37:41 | scoder | link | issue17159 messages |
2014-02-13 21:37:40 | scoder | create | |
|