diff --git a/crossbeam-channel/src/channel.rs b/crossbeam-channel/src/channel.rs index 27423b7e7..800fe6352 100644 --- a/crossbeam-channel/src/channel.rs +++ b/crossbeam-channel/src/channel.rs @@ -233,6 +233,8 @@ pub fn at(when: Instant) -> Receiver { /// /// Using a `never` channel to optionally add a timeout to [`select!`]: /// +/// [`select!`]: crate::select! +/// /// ``` /// use std::thread; /// use std::time::Duration; diff --git a/crossbeam-channel/src/select.rs b/crossbeam-channel/src/select.rs index 710b61221..57d67a3a1 100644 --- a/crossbeam-channel/src/select.rs +++ b/crossbeam-channel/src/select.rs @@ -519,6 +519,8 @@ pub(crate) fn select_deadline<'a>( /// The [`select!`] macro is a convenience wrapper around `Select`. However, it cannot select over a /// dynamically created list of channel operations. /// +/// [`select!`]: crate::select! +/// /// Once a list of operations has been built with `Select`, there are two different ways of /// proceeding: /// diff --git a/crossbeam-channel/src/select_macro.rs b/crossbeam-channel/src/select_macro.rs index 0a609573e..efe0ae406 100644 --- a/crossbeam-channel/src/select_macro.rs +++ b/crossbeam-channel/src/select_macro.rs @@ -993,7 +993,7 @@ macro_rules! crossbeam_channel_internal { /// An operation is considered to be ready if it doesn't have to block. Note that it is ready even /// when it will simply return an error because the channel is disconnected. /// -/// The `select` macro is a convenience wrapper around [`Select`]. However, it cannot select over a +/// The `select!` macro is a convenience wrapper around [`Select`]. However, it cannot select over a /// dynamically created list of channel operations. /// /// [`Select`]: super::Select