Closed as not planned
Description
I wrote
let mut forwarding_address = String::new();
std::io::stdin().read_line(&mut forwarding_address)?;
Got
error[E0277]: `?` couldn't convert the error to `ockam::Error`
--> examples/alice.rs:15:54
|
15 | std::io::stdin().read_line(&mut forwarding_address)?;
| ^ the trait `From<std::io::Error>` is not implemented for `ockam::Error`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the following implementations were found:
<ockam::Error as From<CredentialError>>
<ockam::Error as From<NodeError>>
<ockam::Error as From<OckamError>>
<ockam::Error as From<ockam_core::routing::error::RouteError>>
and 7 others
= note: required by `from`
Update:
I think we need to take a deeper look at the design of our Errors so that they carry source, backtrace, cause etc. as they propagate within Ockam or surface to a user. We chose the code and domain approach because we'll need to expose them over FFI. But that shouldn't hurt the experience of Rust users. Rust Users should get source, backtrace, cause etc.