ext 0.0.3

A Rust extension library.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::no_std::functions::ext::FnOnceExt;

use alloc::sync::Arc;
use tokio::sync::Mutex;

pub trait AsyncExt: Sized {
    /// Convert `value` to `tokio::sync::Mutex::new(value)`
    fn into_tokio_mutex(self) -> Mutex<Self> {
        Mutex::new(self)
    }

    /// Convert `self` to `tokio`'s `Arc<Mutex<Self>>`
    fn into_tokio_arc_mutex(self) -> Arc<Mutex<Self>> {
        Arc::new.compose(Mutex::new)(self)
    }
}

impl<T> AsyncExt for T {}