Commit c0215dfb authored by Yury Selivanov's avatar Yury Selivanov

Issue #28639: Fix inspect.isawaitable to always return bool

Patch by Justin Mayfield.
parent 33499b7e
...@@ -207,10 +207,10 @@ def iscoroutine(object): ...@@ -207,10 +207,10 @@ def iscoroutine(object):
return isinstance(object, types.CoroutineType) return isinstance(object, types.CoroutineType)
def isawaitable(object): def isawaitable(object):
"""Return true is object can be passed to an ``await`` expression.""" """Return true if object can be passed to an ``await`` expression."""
return (isinstance(object, types.CoroutineType) or return (isinstance(object, types.CoroutineType) or
isinstance(object, types.GeneratorType) and isinstance(object, types.GeneratorType) and
object.gi_code.co_flags & CO_ITERABLE_COROUTINE or bool(object.gi_code.co_flags & CO_ITERABLE_COROUTINE) or
isinstance(object, collections.abc.Awaitable)) isinstance(object, collections.abc.Awaitable))
def istraceback(object): def istraceback(object):
......
...@@ -450,6 +450,9 @@ Library ...@@ -450,6 +450,9 @@ Library
- Issue #28613: Fix get_event_loop() return the current loop if - Issue #28613: Fix get_event_loop() return the current loop if
called from coroutines/callbacks. called from coroutines/callbacks.
- Issue #28639: Fix inspect.isawaitable to always return bool
Patch by Justin Mayfield.
IDLE IDLE
---- ----
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment