aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/error.rs32
1 files changed, 7 insertions, 25 deletions
diff --git a/core/src/error.rs b/core/src/error.rs
index 15947c8..63b45d3 100644
--- a/core/src/error.rs
+++ b/core/src/error.rs
@@ -4,7 +4,7 @@ pub type Result<T> = std::result::Result<T, Error>;
#[derive(ThisError, Debug)]
pub enum Error {
- #[error("IO Error: {0}")]
+ #[error(transparent)]
IO(#[from] std::io::Error),
#[error("Timeout Error")]
@@ -16,14 +16,14 @@ pub enum Error {
#[error("Channel Send Error: {0}")]
ChannelSend(String),
- #[error("Channel Receive Error: {0}")]
- ChannelRecv(String),
+ #[error(transparent)]
+ ChannelRecv(#[from] smol::channel::RecvError),
- #[error("Decode Error: {0}")]
- Decode(String),
+ #[error(transparent)]
+ BincodeDecode(#[from] bincode::error::DecodeError),
- #[error("Encode Error: {0}")]
- Encode(String),
+ #[error(transparent)]
+ BincodeEncode(#[from] bincode::error::EncodeError),
}
impl<T> From<smol::channel::SendError<T>> for Error {
@@ -31,21 +31,3 @@ impl<T> From<smol::channel::SendError<T>> for Error {
Error::ChannelSend(error.to_string())
}
}
-
-impl From<smol::channel::RecvError> for Error {
- fn from(error: smol::channel::RecvError) -> Self {
- Error::ChannelRecv(error.to_string())
- }
-}
-
-impl From<bincode::error::DecodeError> for Error {
- fn from(error: bincode::error::DecodeError) -> Self {
- Error::Decode(error.to_string())
- }
-}
-
-impl From<bincode::error::EncodeError> for Error {
- fn from(error: bincode::error::EncodeError) -> Self {
- Error::Encode(error.to_string())
- }
-}