1#![warn(missing_docs)]
4
5use peg::{error::ParseError, str::LineCol};
9use std::borrow::Cow;
10use thiserror::Error;
11
12#[derive(Debug, Error)]
14pub enum MyError {
15 #[error("I/O error: {0}")]
17 IO(#[from] std::io::Error),
18
19 #[error("Date-Time error: {0}")]
21 Time(#[from] jiff::Error),
22
23 #[error("PEG error: {0:?}")]
25 Text(ParseError<LineCol>),
26
27 #[error("Json [Try]From error: {0}")]
29 Json(#[from] serde_json::Error),
30
31 #[error("Geos error: {0}")]
33 Geos(#[from] geos::Error),
34
35 #[error("Converting {0} to `f64` will result in loss of precision")]
37 PrecisionLoss(Cow<'static, str>),
38
39 #[error("CRS creation error: {0}")]
41 CRS(#[from] proj::ProjCreateError),
42
43 #[error("Proj error: {0}")]
45 Proj(#[from] proj::ProjError),
46
47 #[error("Runtime error: {0}")]
49 Runtime(Cow<'static, str>),
50}