use std::{borrow::Cow, convert::Infallible};
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("protobuf: {0}")]
Protobuf(#[from] protobuf::Error),
#[error("i/o: {0}")]
Io(#[from] std::io::Error),
#[error("rsa: {0}")]
Rsa(#[from] rsa::Error),
#[error("invalid input: {0}")]
InvalidInput(Cow<'static, str>),
#[error("invalid license: {0}")]
InvalidLicense(Cow<'static, str>),
}
impl From<Infallible> for Error {
fn from(_: Infallible) -> Self {
unreachable!()
}
}