use image::ImageError; use std::ffi::NulError; use std::str::Utf8Error; #[derive(Debug)] pub enum Error { ShaderContainsNul(NulError), ShaderCompilationFailure(String), ShaderProgramLinkFailure(String), InfoLogEncodingError(Utf8Error), TextureLoadError(ImageError), TextureParseError, } impl From for Error { fn from(utf8err: Utf8Error) -> Self { Error::InfoLogEncodingError(utf8err) } } impl From for Error { fn from(nul_err: NulError) -> Self { Error::ShaderContainsNul(nul_err) } } impl From for Error { fn from(image_err: ImageError) -> Self { Error::TextureLoadError(image_err) } }