peepmatic_runtime/
error.rs1use std::io;
4use thiserror::Error;
5
6pub type Result<T> = std::result::Result<T, Error>;
8
9#[derive(Debug, Error)]
11#[error(transparent)]
12pub struct Error {
13 #[from]
14 inner: Box<ErrorInner>,
15}
16
17#[derive(Debug, Error)]
18enum ErrorInner {
19 #[error(transparent)]
20 Io(#[from] io::Error),
21
22 #[error(transparent)]
23 Bincode(#[from] bincode::Error),
24}
25
26impl From<io::Error> for Error {
27 fn from(e: io::Error) -> Error {
28 let e: ErrorInner = e.into();
29 e.into()
30 }
31}
32
33impl From<bincode::Error> for Error {
34 fn from(e: bincode::Error) -> Error {
35 let e: ErrorInner = e.into();
36 e.into()
37 }
38}
39
40impl From<ErrorInner> for Error {
41 fn from(e: ErrorInner) -> Error {
42 Box::new(e).into()
43 }
44}