1use error_chain::error_chain;
2
3impl From<Box<dyn std::error::Error>> for Error {
4 fn from(e: Box<dyn std::error::Error>) -> Self {
5 Self::from(format!("{:?}", e))
6 }
7}
8
9impl From<Box<dyn std::error::Error + Sync + Send>> for Error {
10 fn from(e: Box<dyn std::error::Error + Sync + Send>) -> Self {
11 Self::from(format!("{:?}", e))
12 }
13}
14
15error_chain! {
16 foreign_links {
17 UTF8Error2(std::str::Utf8Error);
18 UTF8Error(std::string::FromUtf8Error);
19 FFIError(std::ffi::NulError);
20 }
21 errors {
22 ABIEOS(s:String){
23 description("ABIEOS ")
24 display("ABIEOS {}",s)
25 }
26 ABIEOS_INT {
27 description("ABIEOS Error Internal")
28 display("ABIEOS Error Internal")
29 }
30 ABIEOS_LOOP {
31 description("ABIEOS Stuck in internal loop")
32 display("ABIEOS Stuck in internal loop")
33 }
34 ABIEOS_VARUINT_ENCODING {
35 description("Invalid VarUInt encoding")
36 display("ABIEOS Invalid VarUInt encoding")
37 }
38 }
39}