]> git.lizzy.rs Git - rust.git/blob - src/test/ui/try-on-option.stderr
Rollup merge of #69642 - ecstatic-morse:issue-69615, r=oli-obk
[rust.git] / src / test / ui / try-on-option.stderr
1 error[E0277]: `?` couldn't convert the error to `()`
2   --> $DIR/try-on-option.rs:7:6
3    |
4 LL |     x?;
5    |      ^ the trait `std::convert::From<std::option::NoneError>` is not implemented for `()`
6    |
7    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
8    = note: required by `std::convert::From::from`
9 help: consider converting the `Option<T>` into a `Result<T, _>` using `Option::ok_or` or `Option::ok_or_else`
10    |
11 LL |     x.ok_or_else(|| /* error value */)?;
12    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13
14 error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `std::ops::Try`)
15   --> $DIR/try-on-option.rs:13:5
16    |
17 LL | / fn bar() -> u32 {
18 LL | |     let x: Option<u32> = None;
19 LL | |     x?;
20    | |     ^^ cannot use the `?` operator in a function that returns `u32`
21 LL | |     22
22 LL | | }
23    | |_- this function should return `Result` or `Option` to accept `?`
24    |
25    = help: the trait `std::ops::Try` is not implemented for `u32`
26    = note: required by `std::ops::Try::from_error`
27
28 error: aborting due to 2 previous errors
29
30 For more information about this error, try `rustc --explain E0277`.