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

Patch by Justin Mayfield.
This commit is contained in:
Yury Selivanov 2016-11-08 19:57:44 -05:00
parent 33499b7eed
commit c0215dfbc1
2 changed files with 5 additions and 2 deletions

View File

@ -207,10 +207,10 @@ def iscoroutine(object):
return isinstance(object, types.CoroutineType)
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
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))
def istraceback(object):

View File

@ -450,6 +450,9 @@ Library
- Issue #28613: Fix get_event_loop() return the current loop if
called from coroutines/callbacks.
- Issue #28639: Fix inspect.isawaitable to always return bool
Patch by Justin Mayfield.
IDLE
----