yield from. PEP 828 принят 3 августа, целевая версия — Python 3.16.Сейчас делегировать другому асинхронному генератору можно только циклом
async for с ручным yield. Это прячет намерение, ломает связь asend(), athrow() и aclose() с вызывающей стороной и не даёт вернуть значение: приходится бросать исключение.result = yield from agenerator() делегирует aiter(), anext(), asend(), athrow() и aclose();return 3 внутри асинхронного генератора становится законным, значение приезжает через новый атрибут StopAsyncIteration.value, по аналогии со StopIteration.value;SyntaxError на return с значением и yield from в async def с yield.PEP 525 в 2016 году отказался от этого из-за сложности реализации; автор нового PEP Питер Бирма считает, что нынешний код CPython это позволяет, и приложил рабочую реализацию. Вариант
async yield from отвергли ради симметрии с обычными генераторами, и в тексте прямо сказано, что переключение контекста без явного await — спорное место.@zen_of_python
