| $ cargo run |
| Compiling error-handling v0.1.0 (file:///projects/error-handling) |
| error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `std::ops::Try`) |
| --> src/main.rs:4:13 |
| | |
| 3 | / fn main() { |
| 4 | | let f = File::open("hello.txt")?; |
| | | ^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `()` |
| 5 | | } |
| | |_- this function should return `Result` or `Option` to accept `?` |
| | |
| = help: the trait `std::ops::Try` is not implemented for `()` |
| = note: required by `std::ops::Try::from_error` |
| |
| error: aborting due to previous error |
| |
| For more information about this error, try `rustc --explain E0277`. |
| error: could not compile `error-handling`. |
| |
| To learn more, run the command again with --verbose. |