many mshv-bindings functions return type Result<T> = std::result::Result<T, vmm_sys_util::errno::Error>
To deal with this error type, hyperlight uses thiserror, and we define a variant like so
/// vmm sys Error Occurred
#[error("vmm sys Error {0:?}")]
#[cfg(target_os = "linux")]
VmmSysError(#[from] vmm_sys_util::errno::Error),
However, because mshv-bindings does not reexport vmm_sys_util::errno::Error, we need to bring in our own dependency on vmm_sys_util, which may or may not be the same version as the one mshv-bindings use. This can lead to the crates breaking unexpectedly (and has done before).
I propose that you add a pub reexport of vmm_sys_util::errno::Error to make this easier.
Feedback appreciated
many mshv-bindings functions return
type Result<T> = std::result::Result<T, vmm_sys_util::errno::Error>To deal with this error type, hyperlight uses
thiserror, and we define a variant like soHowever, because mshv-bindings does not reexport
vmm_sys_util::errno::Error, we need to bring in our own dependency on vmm_sys_util, which may or may not be the same version as the onemshv-bindingsuse. This can lead to the crates breaking unexpectedly (and has done before).I propose that you add a pub reexport of
vmm_sys_util::errno::Errorto make this easier.Feedback appreciated