diff --git a/src/api/error/mod.rs b/src/api/error/mod.rs index dff1ef0..5927917 100644 --- a/src/api/error/mod.rs +++ b/src/api/error/mod.rs @@ -89,7 +89,6 @@ pub trait Dump { /// /// Wrapper around some error type `T` implementing `std::error::Error`. /// * Adds support for a backtrace. -/// * Automatically derefs to the inner error. pub struct Traced where T: Error { @@ -151,13 +150,15 @@ impl Traced where } } -impl Deref for Traced where +impl Error for Traced where T: Error { - type Target = T; + fn description(&self) -> &str { + self.error.description() + } - fn deref(&self) -> &Self::Target { - &self.error + fn cause(&self) -> Option<&Error> { + self.error.cause() } }