be90f90810
Fix #35946.
36 lines
1.5 KiB
Plaintext
36 lines
1.5 KiB
Plaintext
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`.
|