gh-94912: Adjusted check for non-standard coroutine function marker. by carltongibson · Pull Request #100935 · python/cpython (original) (raw)
The initial implementation did not correctly identify explicitly marked class instances.
Follow up to 532aa4e from #99247
(Bug in Python 3.12.0a4)
Integrating Python 3.12.0a4 with the Django test suite we see that the _has_coroutine_mark()
is not allowing the key case of a class being marked as an asynchronous callable. (This is my fault: in the discussion with @gvanrossum on #99247 over whether we'd cover the marked and async def
__call__
cases automatically, I forgot to add the explicit test for the marked instances.)
I note the isfunction(f) or _signature_is_functionlike(f)
restriction is untested, and not, I think, necessary. (If folks applied markcoroutinefunction
, I think we have to assume that they know what they're up to.)