| error[E0277]: `?` couldn't convert the error to `()` |
| --> $DIR/option-to-result.rs:5:6 |
| | |
| LL | fn test_result() -> Result<(),()> { |
| | ------------- expected `()` because of this |
| LL | let a:Option<()> = Some(()); |
| LL | a?; |
| | ^ the trait `std::convert::From<std::option::NoneError>` is not implemented for `()` |
| | |
| = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait |
| = note: required by `std::convert::From::from` |
| help: consider converting the `Option<T>` into a `Result<T, _>` using `Option::ok_or` or `Option::ok_or_else` |
| | |
| LL | a.ok_or_else(|| /* error value */)?; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0277]: `?` couldn't convert the error to `std::option::NoneError` |
| --> $DIR/option-to-result.rs:11:6 |
| | |
| LL | fn test_option() -> Option<i32>{ |
| | ----------- expected `std::option::NoneError` because of this |
| LL | let a:Result<i32, i32> = Ok(5); |
| LL | a?; |
| | ^ the trait `std::convert::From<i32>` is not implemented for `std::option::NoneError` |
| | |
| = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait |
| = note: required by `std::convert::From::from` |
| help: consider converting the `Result<T, _>` into an `Option<T>` using `Result::ok` |
| | |
| LL | a.ok()?; |
| | ^^^^^ |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0277`. |