sync-arena 0.2.0

A simple, thread-safe arena allocator.
Documentation
use std::ops::Deref;

pub(crate) trait Reentrant<'s, T> {
    fn create(data: T) -> Self;
    fn reentrant_lock(&'s self) -> impl Deref<Target = T> + 's;
}

cfg_if::cfg_if! {
    if #[cfg(feature = "std-reentrant-lock")] {
        mod std_reentrant_lock;
        pub(crate) use std_reentrant_lock::Mutex;
    } else if #[cfg(feature = "lock_api")] {
        mod lock_api;
        pub(crate) use lock_api::Mutex;
    } else if #[cfg(feature = "remutex")] {
        mod remutex;
        pub(crate) use remutex::Mutex;
    } else {
        mod mutex;
        pub(crate) use mutex::Mutex;
    }
}