diff options
-rw-r--r-- | src/arg_defs.rs | 7 | ||||
-rw-r--r-- | src/error.rs | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/arg_defs.rs b/src/arg_defs.rs index 0172a81..c58d230 100644 --- a/src/arg_defs.rs +++ b/src/arg_defs.rs @@ -19,7 +19,6 @@ use crate::args; use crate::commands; -use crate::error::Error; /// Provides access to a Nitrokey device #[derive(structopt::StructOpt)] @@ -136,13 +135,13 @@ pub enum ConfigOption<T> { } impl<T> ConfigOption<T> { - pub fn try_from(disable: bool, value: Option<T>, name: &'static str) -> Result<Self, Error> { + pub fn try_from(disable: bool, value: Option<T>, name: &'static str) -> Result<Self, String> { if disable { if value.is_some() { - Err(Error::Error(format!( + Err(format!( "--{name} and --no-{name} are mutually exclusive", name = name - ))) + )) } else { Ok(ConfigOption::Disable) } diff --git a/src/error.rs b/src/error.rs index 3e458a6..e891da2 100644 --- a/src/error.rs +++ b/src/error.rs @@ -64,6 +64,12 @@ impl From<&str> for Error { } } +impl From<String> for Error { + fn from(s: String) -> Error { + Error::Error(s) + } +} + impl From<clap::Error> for Error { fn from(e: clap::Error) -> Error { Error::ClapError(e) |