cargo_lookup/
error.rs

1#[derive(Debug)]
2pub enum Error {
3    InvalidVersion(semver::Error),
4    Request(Box<ureq::Error>),
5    Io(std::io::Error),
6    Serialize(serde_json::Error),
7    Deserialize(serde_json::Error),
8    FromIndexFile(&'static str),
9}
10
11impl std::error::Error for Error {}
12
13impl std::fmt::Display for Error {
14    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
15        match self {
16            Error::InvalidVersion(error) => write!(f, "failed parsing version: {error}"),
17            Error::Request(error) => write!(f, "request failed: {error}"),
18            Error::Io(error) => write!(f, "IO error: {error}"),
19            Error::Serialize(error) => write!(f, "failed to serialize: {error}"),
20            Error::Deserialize(error) => write!(f, "failed to deserialize: {error}"),
21            Error::FromIndexFile(error) => write!(f, "failed to populate from index file: {error}"),
22        }
23    }
24}