Attribute Macro future

Source
#[future]
Expand description

如下的实现的async函数内部使用了Rc,因为不支持Send,无法利用tokio::spawn调度

async fn foo() -> i32 {
    let id = Rc::new(0);
    bar(*id).await;
}

如下定义即可保证Rc可在Future内部正常使用,同时保证安全和性能

#[hirun::future]
async fn foo() -> i32 {
    let id = Rc::new(0);
    bar(*id).await;
}