diff options
-rw-r--r-- | src/lib.rs | 41 |
1 files changed, 24 insertions, 17 deletions
@@ -2,22 +2,25 @@ //! pub trait ResultInspect<F, T> - where F: FnOnce(&T), - T: Sized +where + F: FnOnce(&T), + T: Sized, { fn inspect(self, f: F) -> Self; } pub trait ResultInspectRef<F, T> - where F: FnOnce(&T), - T: Sized +where + F: FnOnce(&T), + T: Sized, { fn inspect(&self, f: F); } impl<F, T, E> ResultInspect<F, T> for Result<T, E> - where F: FnOnce(&T), - T: Sized +where + F: FnOnce(&T), + T: Sized, { fn inspect(self, f: F) -> Self { if let Ok(ref o) = self.as_ref() { @@ -29,8 +32,9 @@ impl<F, T, E> ResultInspect<F, T> for Result<T, E> } impl<F, T, E> ResultInspectRef<F, T> for Result<T, E> - where F: FnOnce(&T), - T: Sized +where + F: FnOnce(&T), + T: Sized, { fn inspect(&self, f: F) { if let Ok(ref o) = self { @@ -39,24 +43,26 @@ impl<F, T, E> ResultInspectRef<F, T> for Result<T, E> } } - pub trait ResultInspectErr<F, E> - where F: FnOnce(&E), - E: Sized +where + F: FnOnce(&E), + E: Sized, { fn inspect_err(self, f: F) -> Self; } pub trait ResultInspectErrRef<F, E> - where F: FnOnce(&E), - E: Sized +where + F: FnOnce(&E), + E: Sized, { fn inspect_err(&self, f: F); } impl<F, T, E> ResultInspectErr<F, E> for Result<T, E> - where F: FnOnce(&E), - E: Sized +where + F: FnOnce(&E), + E: Sized, { fn inspect_err(self, f: F) -> Self { if let Err(ref e) = self.as_ref() { @@ -68,8 +74,9 @@ impl<F, T, E> ResultInspectErr<F, E> for Result<T, E> } impl<F, T, E> ResultInspectErrRef<F, E> for Result<T, E> - where F: FnOnce(&E), - E: Sized +where + F: FnOnce(&E), + E: Sized, { fn inspect_err(&self, f: F) { if let Err(ref e) = self { |