diff options
| author | Clar Charr <clar@charr.xyz> | 2018-05-04 21:37:28 -0400 |
|---|---|---|
| committer | Clar Charr <clar@charr.xyz> | 2018-05-05 00:18:10 -0400 |
| commit | fc6d6c98dedca297c09016615011bee448e5e468 (patch) | |
| tree | 865553a0112f9daa63e2d6644314a6af89321272 /src/libstd | |
| parent | 20a795e6c6be5b27e16df257f104f5f26ab730e9 (diff) | |
| download | rust-fc6d6c98dedca297c09016615011bee448e5e468.tar.gz rust-fc6d6c98dedca297c09016615011bee448e5e468.zip | |
Fixed typos
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/primitive_docs.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libstd/primitive_docs.rs b/src/libstd/primitive_docs.rs index 8905f7c9e16..49344cab1dd 100644 --- a/src/libstd/primitive_docs.rs +++ b/src/libstd/primitive_docs.rs @@ -112,7 +112,7 @@ mod prim_bool { } /// /// # `!` and generics /// -/// ## Infalliable errors +/// ## Infallible errors /// /// The main place you'll see `!` used explicitly is in generic code. Consider the [`FromStr`] /// trait: @@ -144,7 +144,7 @@ mod prim_bool { } /// /// ## Infinite loops /// -/// While [`Result<T, !>`] is very useful for removing errors, `!` can also be used to removed +/// While [`Result<T, !>`] is very useful for removing errors, `!` can also be used to remove /// successes as well. If we think of [`Result<T, !>`] as "if this function returns, it has not /// errored," we get a very intuitive idea of [`Result<!, E>`] as well: if the function returns, it /// *has* errored. @@ -175,21 +175,22 @@ mod prim_bool { } /// ``` /// /// Now, when the server disconnects, we exit the loop with an error instead of panicking. While it -/// might be intuitive to simply return the error, we might want to wrap it in a [`Result<!, E>`] +/// might be intuitive to simply return the error, we might want to wrap it in a [`Result<!, E>`] /// instead: /// /// ```ignore (hypothetical-example) /// fn server_loop() -> Result<!, ConnectionError> { -/// Ok(loop { +/// loop { /// let (client, request) = get_request()?; /// let response = request.process(); /// response.send(client); -/// }) +/// } /// } /// ``` /// /// Now, we can use `?` instead of `match`, and the return type makes a lot more sense: if the loop -/// ever stops, it means that an error occurred. +/// ever stops, it means that an error occurred. We don't even have to wrap the loop in an `Ok` +/// because `!` coerces to `Result<!, ConnectionError>` automatically. /// /// [`String::from_str`]: str/trait.FromStr.html#tymethod.from_str /// [`Result<String, !>`]: result/enum.Result.html |
