1pub type Result<T> = std::result::Result<T, Error>;
2
3pub enum Error {
4 LibnodeNotLoaded(String),
5 LibnodeFailedToLoad,
6 LibnodeSymbolNotFound,
7}
8
9impl std::fmt::Debug for Error {
10 fn fmt(
11 &self,
12 f: &mut std::fmt::Formatter<'_>,
13 ) -> std::fmt::Result {
14 match self {
15 Self::LibnodeNotLoaded(symb) => write!(f, "LibnodeNotLoaded({})", symb),
16 Self::LibnodeFailedToLoad => write!(f, "LibnodeFailedToLoad"),
17 Self::LibnodeSymbolNotFound => write!(f, "LibnodeSymbolNotFound"),
18 }
19 }
20}
21
22impl std::fmt::Display for Error {
23 fn fmt(
24 &self,
25 f: &mut std::fmt::Formatter<'_>,
26 ) -> std::fmt::Result {
27 match self {
28 Error::LibnodeFailedToLoad => write!(f, "LibnodeFailedToLoad"),
29 Error::LibnodeNotLoaded(symb) => write!(f, "LibnodeNotLoaded({})", symb),
30 Error::LibnodeSymbolNotFound => write!(f, "LibnodeSymbolNotFound"),
31 }
32 }
33}
34
35impl std::error::Error for Error {}
36
37impl From<&Error> for Error {
38 fn from(value: &Error) -> Self {
39 match value {
40 Error::LibnodeNotLoaded(symb) => Error::LibnodeNotLoaded(symb.clone()),
41 Error::LibnodeFailedToLoad => Error::LibnodeFailedToLoad,
42 Error::LibnodeSymbolNotFound => Error::LibnodeSymbolNotFound,
43 }
44 }
45}