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), } } }