This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author hauntsaninja
Recipients gvanrossum, hauntsaninja, kj, levkivskyi, serhiy.storchaka
Date 2020-10-21.06:53:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Sure, I put together a draft PR here: Tests pass cleanly, though timeit indicates callable is slower.

I haven't added instancecheck, which we should consider doing, since `isinstance(x, callable)` would now return False, instead of raising TypeError.

I hack around that using `callable.__new__`, so `callable[[int], str]()` raises a TypeError in my draft PR. Note that `callable[[int], str](f)` would work the same as `callable(f)` does today (which from a typechecking perspective is similar to the fact that `list[int](("a", "b", "c"))` works).
I agree that callable being a predicate means that there probably isn't an aesthetically pleasing way of doing this.

I'm a little out of my comfort zone, so please let me know if you see a better way of doing things :-)
Date User Action Args
2020-10-21 06:53:01hauntsaninjasetrecipients: + hauntsaninja, gvanrossum, serhiy.storchaka, levkivskyi, kj
2020-10-21 06:53:00hauntsaninjasetmessageid: <>
2020-10-21 06:53:00hauntsaninjalinkissue42102 messages
2020-10-21 06:53:00hauntsaninjacreate