Yury Selivanov added the comment:

> Would this be ok?

Probably. I need to take a closer look.

I'm not sure I like the idea that Cython functions are "chimeras" of some sort, 
i.e. they have a type of python builtin functions, hence, logically, 
Signature.from_builtin should work on them (and they have to follow 
__text_signature__ API), and on the other hand, they try to mimic pure python 
functions (being a builtin type) with all its guts like '__code__' object etc.  

Perhaps, what we need to do, is to modify 'Signature.from_builtin' to check for 
pure-python function duck type too, and fallback to 'Signature.from_function' 
in this case. Larry, Nick, what do you think?

> I would also argue that the implementation of _signature_is_builtin() is, 
> well, not ideal, because what it should test for according to the comment at 
> the top of the function is the existance of "__text_signature__". Instead, it 
> does several type tests, one of which goes wrong in this case.

'from_builtin' needs to have those type checks. Duck typing is good, but some 
minimal type safety is good too.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue17159>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to