• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //! Futures-powered synchronization primitives.
2 //!
3 //! This module is only available when the `std` or `alloc` feature of this
4 //! library is activated, and it is activated by default.
5 
6 #[cfg(not(futures_no_atomic_cas))]
7 #[cfg(any(feature = "sink", feature = "io"))]
8 #[cfg(not(feature = "bilock"))]
9 pub(crate) use self::bilock::BiLock;
10 #[cfg(not(futures_no_atomic_cas))]
11 #[cfg(feature = "bilock")]
12 #[cfg_attr(docsrs, doc(cfg(feature = "bilock")))]
13 pub use self::bilock::{BiLock, BiLockAcquire, BiLockGuard, ReuniteError};
14 #[cfg(not(futures_no_atomic_cas))]
15 #[cfg(feature = "std")]
16 pub use self::mutex::{
17     MappedMutexGuard, Mutex, MutexGuard, MutexLockFuture, OwnedMutexGuard, OwnedMutexLockFuture,
18 };
19 
20 #[cfg(not(futures_no_atomic_cas))]
21 #[cfg(any(feature = "bilock", feature = "sink", feature = "io"))]
22 #[cfg_attr(docsrs, doc(cfg(feature = "bilock")))]
23 #[cfg_attr(not(feature = "bilock"), allow(unreachable_pub))]
24 mod bilock;
25 #[cfg(not(futures_no_atomic_cas))]
26 #[cfg(feature = "std")]
27 mod mutex;
28