Skip to content

Commit

Permalink
Rollup merge of rust-lang#42347 - frewsxcv:frewsxcv/improve-receiver-…
Browse files Browse the repository at this point in the history
…recv-timeout-docs, r=QuietMisdreavus

Rewrite doc examples for `Receiver::recv_timeout`.

None
  • Loading branch information
frewsxcv committed Jun 1, 2017
2 parents 9d68a23 + bcd1fe5 commit 9bd6dc7
Showing 1 changed file with 33 additions and 4 deletions.
37 changes: 33 additions & 4 deletions src/libstd/sync/mpsc/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1252,14 +1252,43 @@ impl<T> Receiver<T> {
///
/// # Examples
///
/// Successfully receiving value before encountering timeout:
///
/// ```no_run
/// use std::thread;
/// use std::time::Duration;
/// use std::sync::mpsc;
///
/// let (send, recv) = mpsc::channel();
///
/// thread::spawn(move || {
/// send.send('a').unwrap();
/// });
///
/// assert_eq!(
/// recv.recv_timeout(Duration::from_millis(400)),
/// Ok('a')
/// );
/// ```
///
/// Receiving an error upon reaching timeout:
///
/// ```no_run
/// use std::sync::mpsc::{self, RecvTimeoutError};
/// use std::thread;
/// use std::time::Duration;
/// use std::sync::mpsc;
///
/// let (send, recv) = mpsc::channel();
///
/// let (send, recv) = mpsc::channel::<()>();
/// thread::spawn(move || {
/// thread::sleep(Duration::from_millis(800));
/// send.send('a').unwrap();
/// });
///
/// let timeout = Duration::from_millis(100);
/// assert_eq!(Err(RecvTimeoutError::Timeout), recv.recv_timeout(timeout));
/// assert_eq!(
/// recv.recv_timeout(Duration::from_millis(400)),
/// Err(mpsc::RecvTimeoutError::Timeout)
/// );
/// ```
#[stable(feature = "mpsc_recv_timeout", since = "1.12.0")]
pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> {
Expand Down

0 comments on commit 9bd6dc7

Please sign in to comment.