Support coroutines with async and await syntax #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PEP 492 added support for defining coroutines using
async def
ratherthan having to decorate the function with
@asyncio.coroutine
. The new_is_coroutine
function will match any coroutines created with thedecorator using
inspect.isgeneratorfunction
as well as those createdthrough the async and await syntax using
asyncio.iscoroutinefunction
.The tests for this need to be added in an unconventional way.
async
and
await
cause syntax errors in versions of Python prior to 3.5.Rather than causing the tests for 3.3 and 3.4 to fail, the tests are
being defined as a string and then compiled and executed into the
module. If a time ever comes that this library no longer supports
versions prior to 3.5, this new module can be removed entirely.