← Rule catalog

Clippy · Correctness

Async block returning an unawaited future

clippy::async_yields_async

Await the inner future inside the block, so the caller receives its output rather than another future.

Category
Correctness
Default level
warn
Tier
P1
Producer
Clippy
Diff scope
line

Not a defect when

The block deliberately returns a future for the caller to await later, such as a factory that hands back a JoinHandle or a lazily started request.

What it reads

Clippy, with the compiler behind it. The only pass that compiles.

Tier

Serious: worth interrupting other work for.

The tier bounds how severe a rule may be; its category bounds the tier.

Diff scope

The changed line itself.

What --scope contextual looks at to decide whether a change caused the finding.

Change it

Turn it off, or make it blocking, without touching the code it flags:

rust-doctor --rule clippy::async_yields_async=off .
rust-doctor --rule clippy::async_yields_async=error .

Set it once in rust-doctor.toml

Upstream

Clippy's own documentation for this lint

Other Correctness rules