Registry / async / async-recursion

async-recursion

JSON →
library1.1.1rscratesunverified

Procedural macro for writing recursive async functions.

# Cargo.toml [dependencies] async-recursion = "1.1.1"
INSTALL
IMPORT
SIG · ASYNC-RECURSION
A
async-recursion
asyncrustv1.1.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

async_recursion
use async_recursion::async_recursion;

Example of a recursive async function using the async-recursion macro.

use async_recursion::async_recursion; #[async_recursion] async fn factorial(n: u64) -> u64 { if n == 0 { 1 } else { n * factorial(n - 1).await } } #[tokio::main] async fn main() { println!("{}", factorial(5).await); }
Debug
Known issues
gotchaRequires an async runtime like tokio or async-std to execute the async function.
fix
Add an async runtime and use #[tokio::main] or similar attribute.
affects: >=1.0.0
Upgrade
Version history
1.1.1latest on crates.io
Audit
Dependencies

No dependency data recorded yet.

Agent activity
49 hits · last 30 days
node
42
OpenAI (training)
1
Resources
async-recursion — cargo add async-recursion · libregistry