pub struct Encrusted<T>where
T: Encrustable + Zeroize,{ /* private fields */ }
Expand description
Container struct for encrust, accepting Encrustable
+ Zeroize
types for obfuscation and
deobfuscation when needed.
Care should be taken if T
has a non-trivial Drop
implementation, as T
is not dropped until
zeroize
has been called on it.
Implementations§
Trait Implementations§
Source§impl<T> Drop for Encrusted<T>where
T: Encrustable + Zeroize,
impl<T> Drop for Encrusted<T>where
T: Encrustable + Zeroize,
Source§fn drop(&mut self)
fn drop(&mut self)
Encrusted
’s drop implementation calls zeroize on the underlying data including the seed
to prevent secrets from staying in memory when they are no longer needed.
Note that the data is zeroized prior to being dropped, which may cause problems for the drop implementation of the underlying data.
Auto Trait Implementations§
impl<T> Freeze for Encrusted<T>where
T: Freeze,
impl<T> RefUnwindSafe for Encrusted<T>where
T: RefUnwindSafe,
impl<T> Send for Encrusted<T>where
T: Send,
impl<T> Sync for Encrusted<T>where
T: Sync,
impl<T> Unpin for Encrusted<T>where
T: Unpin,
impl<T> UnwindSafe for Encrusted<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more