Skip to content

Commit

Permalink
Rollup merge of #120815 - camsteffen:inspect-docs, r=m-ou-se
Browse files Browse the repository at this point in the history
Improve `Option::inspect` docs

* Refer to the function as "a function" instead of "the provided closure" since it is not necessarily a closure.
* State that the original Option/Result is returned.
* Adjust the example for `Option::inspect` to use chaining.
  • Loading branch information
matthiaskrgr authored Feb 9, 2024
2 parents 5250aba + e9059cb commit 40f998d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
15 changes: 10 additions & 5 deletions library/core/src/option.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1073,18 +1073,23 @@ impl<T> Option<T> {
}
}

/// Calls the provided closure with a reference to the contained value (if [`Some`]).
/// Calls a function with a reference to the contained value if [`Some`].
///
/// Returns the original option.
///
/// # Examples
///
/// ```
/// let v = vec![1, 2, 3, 4, 5];
/// let list = vec![1, 2, 3];
///
/// // prints "got: 4"
/// let x: Option<&usize> = v.get(3).inspect(|x| println!("got: {x}"));
/// // prints "got: 2"
/// let x = list
/// .get(1)
/// .inspect(|x| println!("got: {x}"))
/// .expect("list should be long enough");
///
/// // prints nothing
/// let x: Option<&usize> = v.get(5).inspect(|x| println!("got: {x}"));
/// list.get(5).inspect(|x| println!("got: {x}"));
/// ```
#[inline]
#[stable(feature = "result_option_inspect", since = "1.76.0")]
Expand Down
8 changes: 6 additions & 2 deletions library/core/src/result.rs
Original file line number Diff line number Diff line change
Expand Up @@ -830,7 +830,9 @@ impl<T, E> Result<T, E> {
}
}

/// Calls the provided closure with a reference to the contained value (if [`Ok`]).
/// Calls a function with a reference to the contained value if [`Ok`].
///
/// Returns the original result.
///
/// # Examples
///
Expand All @@ -851,7 +853,9 @@ impl<T, E> Result<T, E> {
self
}

/// Calls the provided closure with a reference to the contained error (if [`Err`]).
/// Calls a function with a reference to the contained value if [`Err`].
///
/// Returns the original result.
///
/// # Examples
///
Expand Down

0 comments on commit 40f998d

Please sign in to comment.