diff --git a/src/lib.rs b/src/lib.rs index 22e2e19..80a240e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -51,6 +51,7 @@ use core::cell::UnsafeCell; use core::fmt; use core::ops::{Deref, DerefMut}; use core::sync::atomic::{AtomicBool, Ordering}; +use core::marker::PhantomData; /// A light-weight lock guarded by an atomic boolean. /// @@ -167,6 +168,7 @@ impl TryLock { Some(Locked { lock: self, order: unlock_order, + _p: PhantomData, }) } else { None @@ -224,6 +226,8 @@ impl fmt::Debug for TryLock { pub struct Locked<'a, T: 'a> { lock: &'a TryLock, order: Ordering, + /// Suppresses Send and Sync autotraits for `struct Locked`. + _p: PhantomData<*mut T>, } impl<'a, T> Deref for Locked<'a, T> {