summaryrefslogtreecommitdiffstats
path: root/vendor/xattr/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/xattr/src/error.rs')
-rw-r--r--vendor/xattr/src/error.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/vendor/xattr/src/error.rs b/vendor/xattr/src/error.rs
new file mode 100644
index 000000000..f17503e97
--- /dev/null
+++ b/vendor/xattr/src/error.rs
@@ -0,0 +1,28 @@
+use std::error::Error;
+use std::fmt;
+
+/// The error type returned on unsupported platforms.
+///
+/// On unsupported platforms, all operations will fail with an `io::Error` with
+/// a kind `io::ErrorKind::Other` and an `UnsupportedPlatformError` error as the inner error.
+/// While you *could* check the inner error, it's probably simpler just to check
+/// `xattr::SUPPORTED_PLATFORM`.
+///
+/// This error mostly exists for pretty error messages.
+#[derive(Copy, Clone, Debug)]
+pub struct UnsupportedPlatformError;
+
+impl Error for UnsupportedPlatformError {
+ fn description(&self) -> &str {
+ "unsupported platform"
+ }
+}
+
+impl fmt::Display for UnsupportedPlatformError {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ write!(
+ f,
+ "unsupported platform, please file a bug at `https://github.com/Stebalien/xattr'"
+ )
+ }
+}