aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/error.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/error.rs b/src/error.rs
index 5442068..b682e9d 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -47,6 +47,13 @@ impl std::fmt::Display for Error {
}
}
-impl std::error::Error for Error {}
+impl std::error::Error for Error {
+ fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
+ match self {
+ Self::Read { source } | Self::Write { source } => Some(source),
+ _ => None,
+ }
+ }
+}
pub type Result<T> = std::result::Result<T, Error>;