From c0215dfbc1156267e3b14145c49195c843cd0721 Mon Sep 17 00:00:00 2001 From: Yury Selivanov Date: Tue, 8 Nov 2016 19:57:44 -0500 Subject: [PATCH] Issue #28639: Fix inspect.isawaitable to always return bool Patch by Justin Mayfield. --- Lib/inspect.py | 4 ++-- Misc/NEWS | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Lib/inspect.py b/Lib/inspect.py index 0fd03827763..e6dae1e0489 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -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): diff --git a/Misc/NEWS b/Misc/NEWS index c66a5217d23..7512e1a4d80 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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 ----