diff options
| author | bors <bors@rust-lang.org> | 2024-02-14 12:04:03 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-02-14 12:04:03 +0000 |
| commit | 340bb19fea20fd5f9357bbfac542fad84fc7ea2b (patch) | |
| tree | 034e510c662af95a34913601c4988e262acbcd11 /library/alloc/src | |
| parent | 81b757c670483604c5ad04370bc505ba3d21356a (diff) | |
| parent | 96635da9827020839b8949050c90458ea0d4c912 (diff) | |
| download | rust-340bb19fea20fd5f9357bbfac542fad84fc7ea2b.tar.gz rust-340bb19fea20fd5f9357bbfac542fad84fc7ea2b.zip | |
Auto merge of #121078 - oli-obk:rollup-p11zsav, r=oli-obk
Rollup of 13 pull requests Successful merges: - #116387 (Additional doc links and explanation of `Wake`.) - #118738 (Netbsd10 update) - #118890 (Clarify the lifetimes of allocations returned by the `Allocator` trait) - #120498 (Uplift `TypeVisitableExt` into `rustc_type_ir`) - #120530 (Be less confident when `dyn` suggestion is not checked for object safety) - #120915 (Fix suggestion span for `?Sized` when param type has default) - #121015 (Optimize `delayed_bug` handling.) - #121024 (implement `Default` for `AsciiChar`) - #121039 (Correctly compute adjustment casts in GVN) - #121045 (Fix two UI tests with incorrect directive / invalid revision) - #121049 (Do not point at `#[allow(_)]` as the reason for compat lint triggering) - #121071 (Use fewer delayed bugs.) - #121073 (Fix typos in `OneLock` doc) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'library/alloc/src')
| -rw-r--r-- | library/alloc/src/task.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/library/alloc/src/task.rs b/library/alloc/src/task.rs index 87db8629ad0..b214f4946b1 100644 --- a/library/alloc/src/task.rs +++ b/library/alloc/src/task.rs @@ -19,7 +19,7 @@ use core::task::Waker; /// The implementation of waking a task on an executor. /// /// This trait can be used to create a [`Waker`]. An executor can define an -/// implementation of this trait, and use that to construct a Waker to pass +/// implementation of this trait, and use that to construct a [`Waker`] to pass /// to the tasks that are executed on that executor. /// /// This trait is a memory-safe and ergonomic alternative to constructing a @@ -28,7 +28,14 @@ use core::task::Waker; /// those for embedded systems) cannot use this API, which is why [`RawWaker`] /// exists as an alternative for those systems. /// -/// [arc]: ../../std/sync/struct.Arc.html +/// To construct a [`Waker`] from some type `W` implementing this trait, +/// wrap it in an [`Arc<W>`](Arc) and call `Waker::from()` on that. +/// It is also possible to convert to [`RawWaker`] in the same way. +/// +/// <!-- Ideally we'd link to the `From` impl, but rustdoc doesn't generate any page for it within +/// `alloc` because `alloc` neither defines nor re-exports `From` or `Waker`, and we can't +/// link ../../std/task/struct.Waker.html#impl-From%3CArc%3CW,+Global%3E%3E-for-Waker +/// without getting a link-checking error in CI. --> /// /// # Examples /// @@ -100,7 +107,7 @@ pub trait Wake { #[cfg(target_has_atomic = "ptr")] #[stable(feature = "wake_trait", since = "1.51.0")] impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for Waker { - /// Use a `Wake`-able type as a `Waker`. + /// Use a [`Wake`]-able type as a `Waker`. /// /// No heap allocations or atomic operations are used for this conversion. fn from(waker: Arc<W>) -> Waker { |
