1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#[must_use]
fn owned<'life0, 'async_recursion, F>(
param: usize,
f: &'life0 F,
) -> ::core::pin::Pin<
Box<
dyn ::core::future::Future<Output = ()> + 'async_recursion + ::core::marker::Send,
>,
>
where
F: Fn(usize) + Sync + Send,
F: 'async_recursion,
'life0: 'async_recursion,
{
Box::pin(async move {
f(param);
})
}
#[must_use]
fn by_ref<'life0, 'life1, 'async_recursion, F>(
param: &'life0 usize,
f: &'life1 F,
) -> ::core::pin::Pin<
Box<
dyn ::core::future::Future<Output = ()> + 'async_recursion + ::core::marker::Send,
>,
>
where
F: Fn(&usize) + Sync + Send,
F: 'async_recursion,
'life0: 'async_recursion,
'life1: 'async_recursion,
{
Box::pin(async move {
f(param);
})
}
#[must_use]
fn by_ref_mut<'life0, 'life1, 'async_recursion, F>(
param: &'life0 mut usize,
f: &'life1 F,
) -> ::core::pin::Pin<
Box<
dyn ::core::future::Future<Output = ()> + 'async_recursion + ::core::marker::Send,
>,
>
where
F: Fn(&mut usize) + Sync + Send,
F: 'async_recursion,
'life0: 'async_recursion,
'life1: 'async_recursion,
{
Box::pin(async move {
f(param);
})
}
|