1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use std::{
error::Error as StdError,
fmt::{Display, Formatter},
};
pub(crate) type Result<T> = std::result::Result<T, Error>;
#[derive(Debug)]
pub struct Error {
raw: String,
}
impl StdError for Error {}
impl Display for Error {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
write!(f, "Invalid raw string: {}", &self.raw)
}
}
impl<T: Into<String>> From<T> for Error {
fn from(raw: T) -> Self {
Error { raw: raw.into() }
}
}