diff options
Diffstat (limited to 'ext/node_resolver/sync.rs')
-rw-r--r-- | ext/node_resolver/sync.rs | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/ext/node_resolver/sync.rs b/ext/node_resolver/sync.rs index f6689a56a..3c4729aa2 100644 --- a/ext/node_resolver/sync.rs +++ b/ext/node_resolver/sync.rs @@ -6,79 +6,16 @@ pub use inner::*; mod inner { #![allow(clippy::disallowed_types)] - use std::ops::Deref; - use std::ops::DerefMut; pub use std::sync::Arc as MaybeArc; - pub struct MaybeArcMutexGuard<'lock, T>(std::sync::MutexGuard<'lock, T>); - - impl<'lock, T> Deref for MaybeArcMutexGuard<'lock, T> { - type Target = std::sync::MutexGuard<'lock, T>; - fn deref(&self) -> &std::sync::MutexGuard<'lock, T> { - &self.0 - } - } - - impl<'lock, T> DerefMut for MaybeArcMutexGuard<'lock, T> { - fn deref_mut(&mut self) -> &mut std::sync::MutexGuard<'lock, T> { - &mut self.0 - } - } - - #[derive(Debug)] - pub struct MaybeArcMutex<T>(std::sync::Arc<std::sync::Mutex<T>>); - impl<T> MaybeArcMutex<T> { - pub fn new(val: T) -> Self { - Self(std::sync::Arc::new(std::sync::Mutex::new(val))) - } - } - - impl<'lock, T> MaybeArcMutex<T> { - pub fn lock(&'lock self) -> MaybeArcMutexGuard<'lock, T> { - MaybeArcMutexGuard(self.0.lock().unwrap()) - } - } - pub use core::marker::Send as MaybeSend; pub use core::marker::Sync as MaybeSync; } #[cfg(not(feature = "sync"))] mod inner { - use std::ops::Deref; - use std::ops::DerefMut; - pub use std::rc::Rc as MaybeArc; - pub struct MaybeArcMutexGuard<'lock, T>(std::cell::RefMut<'lock, T>); - - impl<'lock, T> Deref for MaybeArcMutexGuard<'lock, T> { - type Target = std::cell::RefMut<'lock, T>; - fn deref(&self) -> &std::cell::RefMut<'lock, T> { - &self.0 - } - } - - impl<'lock, T> DerefMut for MaybeArcMutexGuard<'lock, T> { - fn deref_mut(&mut self) -> &mut std::cell::RefMut<'lock, T> { - &mut self.0 - } - } - - #[derive(Debug)] - pub struct MaybeArcMutex<T>(std::rc::Rc<std::cell::RefCell<T>>); - impl<T> MaybeArcMutex<T> { - pub fn new(val: T) -> Self { - Self(std::rc::Rc::new(std::cell::RefCell::new(val))) - } - } - - impl<'lock, T> MaybeArcMutex<T> { - pub fn lock(&'lock self) -> MaybeArcMutexGuard<'lock, T> { - MaybeArcMutexGuard(self.0.borrow_mut()) - } - } - pub trait MaybeSync {} impl<T> MaybeSync for T where T: ?Sized {} pub trait MaybeSend {} |