summaryrefslogtreecommitdiff
path: root/src/error.rs
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-01-04 07:06:25 -0600
committerAlejandro Soto <alejandro@34project.org>2022-01-04 07:06:25 -0600
commitff17b04143dde5157808be5bcf1cbf8a942db4c4 (patch)
treed19620c7fd48f401c9df67b8f18750520f5a0f73 /src/error.rs
parent2236d258859018a93b14504295385ad4fb0b3d9b (diff)
Replace quick-error with thiserror
Diffstat (limited to '')
-rw-r--r--src/error.rs52
1 files changed, 32 insertions, 20 deletions
diff --git a/src/error.rs b/src/error.rs
index f4db21a..a2f1193 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -1,23 +1,35 @@
-use quick_error::quick_error;
-
-quick_error! {
- #[derive(Debug)]
- pub enum FuseError {
- Io(err: std::io::Error) { from() }
- ProtocolInit { display("fuse handshake failed (ancient kernel?)") }
- Truncated { display("fuse request truncated") }
- BadOpcode { display("unknown fuse operation") }
- BadLength { display("bad length in fuse request") }
- ShortWrite { display("fuse reply was trimmed on write()") }
- }
-}
+use thiserror::Error;
+
+pub type FuseResult<T> = Result<T, FuseError>;
+
+#[derive(Debug, Error)]
+#[non_exhaustive]
+pub enum FuseError {
+ #[error("I/O error")]
+ Io(#[from] std::io::Error),
+
+ #[error("fuse handshake failed (ancient kernel?)")]
+ ProtocolInit,
+
+ #[error("fuse request truncated")]
+ Truncated,
-quick_error! {
- #[derive(Debug)]
- pub enum MountError {
- Io(err: std::io::Error) { from() }
- Fusermount { display("fusermount failed") }
- }
+ #[error("unknown fuse operation")]
+ BadOpcode,
+
+ #[error("bad length in fuse request")]
+ BadLength,
+
+ #[error("fuse reply was trimmed on write()")]
+ ShortWrite,
}
-pub type FuseResult<T> = Result<T, FuseError>;
+#[derive(Debug, Error)]
+#[non_exhaustive]
+pub enum MountError {
+ #[error("I/O error during mount")]
+ Io(#[from] std::io::Error),
+
+ #[error("fusermount failed")]
+ Fusermount,
+}