Rollup merge of #138968 - Natural-selection1:update-Result-doc, r=Amanieu
Update the index of Result to make the summary more comprehensive fix #138966 This PR and #138957 are twin PR r? `@Amanieu`
This commit is contained in:
commit
a35379654c
1 changed files with 30 additions and 2 deletions
|
|
@ -259,8 +259,14 @@
|
|||
//! The [`is_ok`] and [`is_err`] methods return [`true`] if the [`Result`]
|
||||
//! is [`Ok`] or [`Err`], respectively.
|
||||
//!
|
||||
//! The [`is_ok_and`] and [`is_err_and`] methods apply the provided function
|
||||
//! to the contents of the [`Result`] to produce a boolean value. If the [`Result`] does not have the expected variant
|
||||
//! then [`false`] is returned instead without executing the function.
|
||||
//!
|
||||
//! [`is_err`]: Result::is_err
|
||||
//! [`is_ok`]: Result::is_ok
|
||||
//! [`is_ok_and`]: Result::is_ok_and
|
||||
//! [`is_err_and`]: Result::is_err_and
|
||||
//!
|
||||
//! ## Adapters for working with references
|
||||
//!
|
||||
|
|
@ -287,6 +293,7 @@
|
|||
//! (which must implement the [`Default`] trait)
|
||||
//! * [`unwrap_or_else`] returns the result of evaluating the provided
|
||||
//! function
|
||||
//! * [`unwrap_unchecked`] produces *[undefined behavior]*
|
||||
//!
|
||||
//! The panicking methods [`expect`] and [`unwrap`] require `E` to
|
||||
//! implement the [`Debug`] trait.
|
||||
|
|
@ -297,6 +304,8 @@
|
|||
//! [`unwrap_or`]: Result::unwrap_or
|
||||
//! [`unwrap_or_default`]: Result::unwrap_or_default
|
||||
//! [`unwrap_or_else`]: Result::unwrap_or_else
|
||||
//! [`unwrap_unchecked`]: Result::unwrap_unchecked
|
||||
//! [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html
|
||||
//!
|
||||
//! These methods extract the contained value in a [`Result<T, E>`] when it
|
||||
//! is the [`Err`] variant. They require `T` to implement the [`Debug`]
|
||||
|
|
@ -304,10 +313,13 @@
|
|||
//!
|
||||
//! * [`expect_err`] panics with a provided custom message
|
||||
//! * [`unwrap_err`] panics with a generic message
|
||||
//! * [`unwrap_err_unchecked`] produces *[undefined behavior]*
|
||||
//!
|
||||
//! [`Debug`]: crate::fmt::Debug
|
||||
//! [`expect_err`]: Result::expect_err
|
||||
//! [`unwrap_err`]: Result::unwrap_err
|
||||
//! [`unwrap_err_unchecked`]: Result::unwrap_err_unchecked
|
||||
//! [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html
|
||||
//!
|
||||
//! ## Transforming contained values
|
||||
//!
|
||||
|
|
@ -330,21 +342,29 @@
|
|||
//! [`Some(v)`]: Option::Some
|
||||
//! [`transpose`]: Result::transpose
|
||||
//!
|
||||
//! This method transforms the contained value of the [`Ok`] variant:
|
||||
//! These methods transform the contained value of the [`Ok`] variant:
|
||||
//!
|
||||
//! * [`map`] transforms [`Result<T, E>`] into [`Result<U, E>`] by applying
|
||||
//! the provided function to the contained value of [`Ok`] and leaving
|
||||
//! [`Err`] values unchanged
|
||||
//! * [`inspect`] takes ownership of the [`Result`], applies the
|
||||
//! provided function to the contained value by reference,
|
||||
//! and then returns the [`Result`]
|
||||
//!
|
||||
//! [`map`]: Result::map
|
||||
//! [`inspect`]: Result::inspect
|
||||
//!
|
||||
//! This method transforms the contained value of the [`Err`] variant:
|
||||
//! These methods transform the contained value of the [`Err`] variant:
|
||||
//!
|
||||
//! * [`map_err`] transforms [`Result<T, E>`] into [`Result<T, F>`] by
|
||||
//! applying the provided function to the contained value of [`Err`] and
|
||||
//! leaving [`Ok`] values unchanged
|
||||
//! * [`inspect_err`] takes ownership of the [`Result`], applies the
|
||||
//! provided function to the contained value of [`Err`] by reference,
|
||||
//! and then returns the [`Result`]
|
||||
//!
|
||||
//! [`map_err`]: Result::map_err
|
||||
//! [`inspect_err`]: Result::inspect_err
|
||||
//!
|
||||
//! These methods transform a [`Result<T, E>`] into a value of a possibly
|
||||
//! different type `U`:
|
||||
|
|
@ -578,6 +598,10 @@ impl<T, E> Result<T, E> {
|
|||
///
|
||||
/// let x: Result<u32, &str> = Err("hey");
|
||||
/// assert_eq!(x.is_ok_and(|x| x > 1), false);
|
||||
///
|
||||
/// let x: Result<String, &str> = Ok("ownership".to_string());
|
||||
/// assert_eq!(x.as_ref().is_ok_and(|x| x.len() > 1), true);
|
||||
/// println!("still alive {:?}", x);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[inline]
|
||||
|
|
@ -623,6 +647,10 @@ impl<T, E> Result<T, E> {
|
|||
///
|
||||
/// let x: Result<u32, Error> = Ok(123);
|
||||
/// assert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
|
||||
///
|
||||
/// let x: Result<u32, String> = Err("ownership".to_string());
|
||||
/// assert_eq!(x.as_ref().is_err_and(|x| x.len() > 1), true);
|
||||
/// println!("still alive {:?}", x);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[inline]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue