Add TryFromIntError to GuestError and fix error handling

While working on the full WASI spec, it turned out that we need two
tweaks to `GuestError`:
1. we need to support conversion from `TryFromIntError`, and
2. we need to invoke `e.into()` when unwrapping the result of `try_into()`
   in auto-implementation of raw interface functions.

Both problems seem to originate for "transparent" builtin types since
for those we don't really provide a `TryFrom` implementation like for
compound types, e.g., enums, flags, etc.
This commit is contained in:
Jakub Konka
2020-02-27 11:10:30 +01:00
committed by Jakub Konka
parent 90182bc5da
commit ed1d5180ef
2 changed files with 5 additions and 3 deletions

View File

@@ -27,6 +27,8 @@ pub enum GuestError {
#[source]
err: Box<GuestError>,
},
#[error("Invalid UTF-8 encountered")]
InvalidUtf8(#[from] std::str::Utf8Error),
#[error("Invalid UTF-8 encountered: {0:?}")]
InvalidUtf8(#[from] ::std::str::Utf8Error),
#[error("Int conversion error: {0:?}")]
TryFromIntError(#[from] ::std::num::TryFromIntError),
}