diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2019-01-23 04:36:57 +0000 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2019-01-23 05:38:30 +0100 |
commit | b00bbaa5603504597729ed2ce0d1e8ff50ea078d (patch) | |
tree | 27af8fa4359afbe0f61a93982203657727a76623 /src | |
parent | d4663961c41a0fb6f81f4a54aefd0fedce49d350 (diff) | |
download | nitrokey-rs-b00bbaa5603504597729ed2ce0d1e8ff50ea078d.tar.gz nitrokey-rs-b00bbaa5603504597729ed2ce0d1e8ff50ea078d.tar.bz2 |
Implement From<(T: Device, Error)> for Error
Not all users of the authenticate methods want to use the device after
an error, so implementing From<(T: Device, Error)> for Error makes it
easier for them to discard the device.
Diffstat (limited to 'src')
-rw-r--r-- | src/error.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs index 4b82c6e..551dd0f 100644 --- a/src/error.rs +++ b/src/error.rs @@ -4,6 +4,8 @@ use std::os::raw; use std::result; use std::str; +use crate::device; + /// An error returned by the nitrokey crate. #[derive(Debug)] pub enum Error { @@ -67,6 +69,12 @@ impl From<str::Utf8Error> for Error { } } +impl<T: device::Device> From<(T, Error)> for Error { + fn from((_, err): (T, Error)) -> Self { + err + } +} + impl error::Error for Error { fn source(&self) -> Option<&(dyn error::Error + 'static)> { match *self { |