Document the conditional existence of alloc::sync
and alloc::task
.
The wording is copied from `std::sync::atomic::AtomicPtr`, with additional advice on how to `#[cfg]` for it.
This commit is contained in:
parent
c3b7d7b496
commit
5dcc418f62
@ -3,6 +3,10 @@
|
|||||||
//! Thread-safe reference-counting pointers.
|
//! Thread-safe reference-counting pointers.
|
||||||
//!
|
//!
|
||||||
//! See the [`Arc<T>`][Arc] documentation for more details.
|
//! See the [`Arc<T>`][Arc] documentation for more details.
|
||||||
|
//!
|
||||||
|
//! **Note**: This module is only available on platforms that support atomic
|
||||||
|
//! loads and stores of pointers. This may be detected at compile time using
|
||||||
|
//! `#[cfg(target_has_atomic = "ptr")]`.
|
||||||
|
|
||||||
use core::any::Any;
|
use core::any::Any;
|
||||||
use core::borrow;
|
use core::borrow;
|
||||||
@ -82,6 +86,11 @@ macro_rules! acquire {
|
|||||||
/// [`Mutex`][mutex], [`RwLock`][rwlock], or one of the [`Atomic`][atomic]
|
/// [`Mutex`][mutex], [`RwLock`][rwlock], or one of the [`Atomic`][atomic]
|
||||||
/// types.
|
/// types.
|
||||||
///
|
///
|
||||||
|
/// **Note**: This type is only available on platforms that support atomic
|
||||||
|
/// loads and stores of pointers, which includes all platforms that support
|
||||||
|
/// the `std` crate but not all those which only support [`alloc`](crate).
|
||||||
|
/// This may be detected at compile time using `#[cfg(target_has_atomic = "ptr")]`.
|
||||||
|
///
|
||||||
/// ## Thread Safety
|
/// ## Thread Safety
|
||||||
///
|
///
|
||||||
/// Unlike [`Rc<T>`], `Arc<T>` uses atomic operations for its reference
|
/// Unlike [`Rc<T>`], `Arc<T>` uses atomic operations for its reference
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
#![stable(feature = "wake_trait", since = "1.51.0")]
|
#![stable(feature = "wake_trait", since = "1.51.0")]
|
||||||
|
|
||||||
//! Types and Traits for working with asynchronous tasks.
|
//! Types and Traits for working with asynchronous tasks.
|
||||||
|
//!
|
||||||
|
//! **Note**: This module is only available on platforms that support atomic
|
||||||
|
//! loads and stores of pointers. This may be detected at compile time using
|
||||||
|
//! `#[cfg(target_has_atomic = "ptr")]`.
|
||||||
|
|
||||||
use core::mem::ManuallyDrop;
|
use core::mem::ManuallyDrop;
|
||||||
use core::task::{RawWaker, RawWakerVTable, Waker};
|
use core::task::{RawWaker, RawWakerVTable, Waker};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user