From 549b3b0919f28f843dc2a40b1e71c98a87c8652f Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Sun, 25 Aug 2019 14:19:13 +0200 Subject: Initial --- src/errors.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/errors.rs (limited to 'src/errors.rs') diff --git a/src/errors.rs b/src/errors.rs new file mode 100644 index 0000000..bfb5606 --- /dev/null +++ b/src/errors.rs @@ -0,0 +1,21 @@ +use std::io; + +pub trait ToIOError { + fn to_io_error(self) -> io::Error; +} + +impl ToIOError for git2::Error { + fn to_io_error(self) -> io::Error { + io::Error::new(io::ErrorKind::Other, self) + } +} + +pub trait ToIOResult { + fn to_io_result(self) -> io::Result; +} + +impl ToIOResult for std::result::Result { + fn to_io_result(self) -> io::Result { + self.map_err(|e| e.to_io_error()) + } +} -- cgit v1.2.3-70-g09d2