Function rudi::single_owner_async

source ·
pub fn single_owner_async<T, C>(constructor: C) -> SingleOwnerAsyncProvider<T>
where C: for<'a> Fn(&'a mut Context) -> BoxFuture<'a, T> + 'static,
Expand description

Create a SingleOwnerAsyncProvider instance

§Example

use rudi::{single_owner_async, FutureExt, SingleOwnerAsyncProvider};

#[derive(Clone)]
struct A(i32);

fn main() {
    let _: SingleOwnerAsyncProvider<A> =
        single_owner_async(|cx| async { A(cx.resolve_async().await) }.boxed());
}