From 643af81532470d79f6687841b7fcf0c5b3ca0beb Mon Sep 17 00:00:00 2001 From: Colin Kiegel Date: Sun, 13 Dec 2015 11:41:27 +0100 Subject: [PATCH] impl Error for Traced --- src/api/error/mod.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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() } }