summaryrefslogtreecommitdiff
path: root/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.rs')
-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,
+}