Ruff async-zero-sleep (ASYNC115)

async-zero-sleep в Ruff проверяет код на предупреждение ASYNC115. Правило относится к группе flake8-async.

Почему это неправильно

В асинхронном коде такие конструкции могут блокировать цикл событий, нарушать отмену задач или делать ожидания ненадёжными.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила async-zero-sleep и пример ниже.

Пример ошибки

import trio


async def func():
    await trio.sleep(0)

Как правильно

import trio


async def func():
    await trio.lowlevel.checkpoint()

Автоисправление

Ruff всегда может предложить автоисправление для этого правила.