diff options
| author | Renato Alves <alves@renato.page> | 2024-05-10 01:03:00 -0300 |
|---|---|---|
| committer | Renato Alves <alves@renato.page> | 2024-05-10 01:03:00 -0300 |
| commit | 336dd16d05f34d12763e3db296a9ae438719a3d9 (patch) | |
| tree | 957213ff822a8901e9f77c9bfd9775b064e1368f | |
| parent | a6e87c546dd806b2f8eb7bb314defc56dc190e4d (diff) | |
| download | rust-336dd16d05f34d12763e3db296a9ae438719a3d9.tar.gz rust-336dd16d05f34d12763e3db296a9ae438719a3d9.zip | |
Refactor examples and enhance documentation in result.rs
| -rw-r--r-- | library/core/src/result.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/library/core/src/result.rs b/library/core/src/result.rs index b2b627fe6a9..7d651f7173b 100644 --- a/library/core/src/result.rs +++ b/library/core/src/result.rs @@ -45,25 +45,29 @@ //! that make working with it more succinct. //! //! ``` +//! // The `is_ok` and `is_err` methods do what they say. //! let good_result: Result<i32, i32> = Ok(10); //! let bad_result: Result<i32, i32> = Err(10); -//! -//! // The `is_ok` and `is_err` methods do what they say. //! assert!(good_result.is_ok() && !good_result.is_err()); //! assert!(bad_result.is_err() && !bad_result.is_ok()); //! -//! // `map` consumes the `Result` and produces another. +//! // `map` and `map_err` consume the `Result` and produces another. //! let good_result: Result<i32, i32> = good_result.map(|i| i + 1); -//! let bad_result: Result<i32, i32> = bad_result.map(|i| i - 1); +//! let bad_result: Result<i32, i32> = bad_result.map_err(|i| i - 1); +//! assert_eq!(good_result, Ok(11)); +//! assert_eq!(bad_result, Err(9)); //! //! // Use `and_then` to continue the computation. //! let good_result: Result<bool, i32> = good_result.and_then(|i| Ok(i == 11)); +//! assert_eq!(good_result, Ok(true)); //! //! // Use `or_else` to handle the error. //! let bad_result: Result<i32, i32> = bad_result.or_else(|i| Ok(i + 20)); +//! assert_eq!(bad_result, Ok(29)); //! //! // Consume the result and return the contents with `unwrap`. //! let final_awesome_result = good_result.unwrap(); +//! assert_eq!(final_awesome_result) //! ``` //! //! # Results must be used |
