pub struct UnspecifiedRandError;
Expand description
An error with absolutely no details.
dup-crypto uses this unit type as the error type in most of its results because (a) usually the specific reasons for a failure are obvious or are not useful to know, and/or (b) providing more details about a failure might provide a dangerous side channel, and/or (c) it greatly simplifies the error handling logic.
Experience with using and implementing other crypto libraries like has shown that sophisticated error reporting facilities often cause significant bugs themselves, both within the crypto library and within users of the crypto library. This approach attempts to minimize complexity in the hopes of avoiding such problems. In some cases, this approach may be too extreme, and it may be important for an operation to provide some details about the cause of a failure. Users of dup-crypto are encouraged to report such cases so that they can be addressed individually.
Trait Implementations§
Source§impl Clone for UnspecifiedRandError
impl Clone for UnspecifiedRandError
Source§fn clone(&self) -> UnspecifiedRandError
fn clone(&self) -> UnspecifiedRandError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for UnspecifiedRandError
impl Debug for UnspecifiedRandError
Source§impl From<UnspecifiedRandError> for PrivateMessageError
impl From<UnspecifiedRandError> for PrivateMessageError
Source§fn from(_: UnspecifiedRandError) -> Self
fn from(_: UnspecifiedRandError) -> Self
Source§impl PartialEq for UnspecifiedRandError
impl PartialEq for UnspecifiedRandError
impl Copy for UnspecifiedRandError
impl StructuralPartialEq for UnspecifiedRandError
Auto Trait Implementations§
impl Freeze for UnspecifiedRandError
impl RefUnwindSafe for UnspecifiedRandError
impl Send for UnspecifiedRandError
impl Sync for UnspecifiedRandError
impl Unpin for UnspecifiedRandError
impl UnwindSafe for UnspecifiedRandError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more