summary refs log tree commit diff
path: root/src/test/ui/try-on-option.stderr
blob: 07615b52a48a5c77a0a9e6530ae0caae5817e1f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
error[E0277]: `?` couldn't convert the error to `()`
  --> $DIR/try-on-option.rs:7:6
   |
LL |     x?;
   |      ^ 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`

error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `std::ops::Try`)
  --> $DIR/try-on-option.rs:13:5
   |
LL | / fn bar() -> u32 {
LL | |     let x: Option<u32> = None;
LL | |     x?;
   | |     ^^ cannot use the `?` operator in a function that returns `u32`
LL | |     22
LL | | }
   | |_- this function should return `Result` or `Option` to accept `?`
   |
   = help: the trait `std::ops::Try` is not implemented for `u32`
   = note: required by `std::ops::Try::from_error`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.