diff options
-rw-r--r-- | src/error.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/error.rs b/src/error.rs index f87cead..fea92b6 100644 --- a/src/error.rs +++ b/src/error.rs @@ -27,7 +27,14 @@ 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::ReadStdin(e) | Self::WriteStdout(e) => Some(e), + Self::SetTerminalMode(e) => Some(e), + } + } +} /// Convenience wrapper for a `Result` using `textmode::Error`. pub type Result<T> = std::result::Result<T, Error>; |