summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/inspect.py4
-rw-r--r--Misc/NEWS3
2 files changed, 5 insertions, 2 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py
index f01dd1d..6640375 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -219,10 +219,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):
diff --git a/Misc/NEWS b/Misc/NEWS
index ffbdb89..d787a29 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -40,6 +40,9 @@ Library
- Issue #26081: Fix refleak in _asyncio.Future.__iter__().throw.
+- Issue #28639: Fix inspect.isawaitable to always return bool
+ Patch by Justin Mayfield.
+
Documentation
-------------