Use ? instead of unwrap in examples (#458)

This is recommended by the Rust API Guidelines:

https://rust-lang.github.io/api-guidelines/documentation.html#examples-use--not-try-not-unwrap-c-question-mark

One exception: When we need to unwrap an Option, the examples still use
.unwrap(). The alternative would be something like
`.ok_or(SomeErrorHere)?`, which feels like an awkward way to deal with
an Option. This might get better with NoneError:

https://docs.rs/rustc-std-workspace-std/1.0.1/std/option/struct.NoneError.html

I also rearranged some examples that used turbofish to use type
annotations. I think type annotations are more familiar to early Rust
users (and they use fewer characters and less punctuation, which is
always nice).
This commit is contained in:
Jacob Hoffman-Andrews
2021-12-19 20:04:30 -08:00
committed by GitHub
parent 2563df4f62
commit 2df70168c4
5 changed files with 21 additions and 14 deletions

View File

@@ -116,6 +116,7 @@ impl Error {
/// * [`Transport::source()`](std::error::Error::source) holds the underlying error with even more details.
///
/// ```
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// use ureq::ErrorKind;
/// use std::error::Error;
/// use url::ParseError;
@@ -137,9 +138,11 @@ impl Error {
/// // boxed underlying error
/// let source = error.source().unwrap();
/// // downcast to original error
/// let downcast = source.downcast_ref::<ParseError>().unwrap();
/// let downcast: &ParseError = source.downcast_ref().unwrap();
///
/// assert_eq!(downcast.to_string(), "relative URL without a base");
/// # Ok(())
/// # }
/// ```
#[derive(Debug)]
pub struct Transport {