From cc1d0287b5c775ff35dc6af25009646e034a0a75 Mon Sep 17 00:00:00 2001 From: Yury Selivanov Date: Wed, 1 Jul 2015 12:49:00 -0400 Subject: [PATCH] Issue #24400: Mention that __instancecheck__ is used in abc.Awaitable and Coroutine --- Doc/conf.py | 2 +- Doc/library/collections.abc.rst | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Doc/conf.py b/Doc/conf.py index 28dd80f8590..20086a9c18a 100644 --- a/Doc/conf.py +++ b/Doc/conf.py @@ -44,7 +44,7 @@ exclude_patterns = ['venv/*'] # ----------------------- # Use our custom theme. -html_theme = 'pydoctheme' +html_theme = 'classic' html_theme_path = ['tools'] html_theme_options = {'collapsiblesidebar': True} diff --git a/Doc/library/collections.abc.rst b/Doc/library/collections.abc.rst index 0653d4e35c8..dc2704ee5bb 100644 --- a/Doc/library/collections.abc.rst +++ b/Doc/library/collections.abc.rst @@ -161,6 +161,12 @@ ABC Inherits from Abstract Methods Mixin :term:`Coroutine` objects and instances of the :class:`~collections.abc.Coroutine` ABC are all instances of this ABC. + .. note:: + In CPython, generator-based coroutines are *awaitables*, even though + they do not have an :meth:`__await__` method. This ABC + implements an :meth:`~class.__instancecheck__` method to make them + instances of itself. + .. versionadded:: 3.5 .. class:: Coroutine @@ -172,6 +178,12 @@ ABC Inherits from Abstract Methods Mixin :meth:`__await__`. All :class:`Coroutine` instances are also instances of :class:`Awaitable`. See also the definition of :term:`coroutine`. + .. note:: + In CPython, generator-based coroutines are *awaitables* and *coroutines*, + even though they do not have an :meth:`__await__` method. This ABC + implements an :meth:`~class.__instancecheck__` method to make them + instances of itself. + .. versionadded:: 3.5 .. class:: AsyncIterable