Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

IIRC, `let x = foo()?` is actually equivalent to

  let x = match foo() {
      Ok(value) -> value,
      Err(e) -> return Err(e.into()),
  }
Which can automatically convert one error type into another when the appropriate From and/or Into impls exist.


It is a little more complex than that these days

https://github.com/rust-lang/rust/blob/4e0d0d757e2f1b61ec809...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: