1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use crate::vk;
pub type VkResult<T> = Result<T, vk::Result>;
impl From<vk::Result> for VkResult<()> {
fn from(err_code: vk::Result) -> Self {
err_code.result()
}
}
impl vk::Result {
pub fn result(self) -> VkResult<()> {
self.result_with_success(())
}
pub fn result_with_success<T>(self, v: T) -> VkResult<T> {
match self {
vk::Result::SUCCESS => Ok(v),
_ => Err(self),
}
}
}