about summary refs log tree commit diff
diff options
context:
space:
mode:
authorcyqsimon <28627918+cyqsimon@users.noreply.github.com>2022-02-12 12:19:03 +0800
committercyqsimon <28627918+cyqsimon@users.noreply.github.com>2022-02-12 12:19:03 +0800
commitadfac00f458c7b68efb759335a804949d2f64d8b (patch)
tree625ec93f42541c777e461e84f39374abd150b5d4
parent7eaecc6508149da3a0e76982f1259f5bf3cf54a8 (diff)
downloadrust-adfac00f458c7b68efb759335a804949d2f64d8b.tar.gz
rust-adfac00f458c7b68efb759335a804949d2f64d8b.zip
`Result::and_then`: show type conversion
-rw-r--r--library/core/src/result.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/library/core/src/result.rs b/library/core/src/result.rs
index d6a0c7dc292..334a8990787 100644
--- a/library/core/src/result.rs
+++ b/library/core/src/result.rs
@@ -1282,14 +1282,13 @@ impl<T, E> Result<T, E> {
     /// # Examples
     ///
     /// ```
-    /// fn sq(x: u32) -> Result<u32, &'static str> {
-    ///     x.checked_mul(x).ok_or("overflowed")
+    /// fn sq_then_to_string(x: u32) -> Result<String, &'static str> {
+    ///     x.checked_mul(x).map(|sq| sq.to_string()).ok_or("overflowed")
     /// }
     ///
-    /// assert_eq!(Ok(2).and_then(sq), Ok(4));
-    /// assert_eq!(Ok(1_000_000).and_then(sq), Err("overflowed"));
-    /// assert_eq!(Err("not a number").and_then(sq), Err("not a number"));
-
+    /// assert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));
+    /// assert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err("overflowed"));
+    /// assert_eq!(Err("not a number").and_then(sq_then_to_string), Err("not a number"));
     /// ```
     ///
     /// Often used to chain fallible operations that may return [`Err`].