Message379197
Sure, I put together a draft PR here: https://github.com/python/cpython/pull/22848 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.
@serhiy
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.
@kj
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:01 | hauntsaninja | set | recipients:
+ hauntsaninja, gvanrossum, serhiy.storchaka, levkivskyi, kj |
2020-10-21 06:53:00 | hauntsaninja | set | messageid: <1603263181.0.0.00873183883959.issue42102@roundup.psfhosted.org> |
2020-10-21 06:53:00 | hauntsaninja | link | issue42102 messages |
2020-10-21 06:53:00 | hauntsaninja | create | |
|