summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <mathstuf@gmail.com>2020-04-08 22:45:18 -0400
committerBen Boeckel <mathstuf@gmail.com>2020-04-09 10:32:09 -0400
commit3dd9ceec1152d489bb72fbfbb506fc628baa1b1a (patch)
treed1d0a7833777bcedf69f36dedb655ca8e40228a0
parentcd1c566c8a68b097235e57267b8106ceee150e2a (diff)
thiserror: replace usage of failure
`thiserror` is much lighter and doesn't export a dependency on `failure` to consumers of the crate.
-rw-r--r--Cargo.toml2
-rw-r--r--src/error.rs12
-rw-r--r--src/lib.rs5
3 files changed, 10 insertions, 9 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 8f341bf..1f22f6b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,7 +14,7 @@ keywords = ["vobject", "icalendar", "calendar", "contacts"]
[dependencies]
chrono = { version = "0.4", optional = true }
-failure = "0.1"
+thiserror = "1.0"
[features]
default = []
diff --git a/src/error.rs b/src/error.rs
index 28f39e0..d98e716 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -1,16 +1,18 @@
-#[derive(Debug, Clone, Eq, PartialEq, Fail)]
+use thiserror::Error;
+
+#[derive(Debug, Clone, Error)]
pub enum VObjectErrorKind {
- #[fail(display = "Parser error: {}", _0)]
+ #[error("Parser error: {}", _0)]
ParserError(String),
- #[fail(display = "Not a Vcard")]
+ #[error("Not a Vcard")]
NotAVCard,
- #[fail(display = "Not a Icalendar: {}", _0)]
+ #[error("Not a Icalendar: {}", _0)]
NotAnICalendar(String),
#[cfg(feature = "timeconversions")]
- #[fail(display = "{}", _0)]
+ #[error("{}", _0)]
ChronoError(::chrono::format::ParseError),
}
diff --git a/src/lib.rs b/src/lib.rs
index 1aadb8e..4bd1193 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,9 +1,8 @@
-#[macro_use]
-extern crate failure;
-
#[cfg(feature = "timeconversions")]
extern crate chrono;
+extern crate thiserror;
+
#[macro_use] pub mod param;
#[macro_use] mod util;