pub trait ZeroizeOnDrop { }Expand description
Marker trait signifying that this type will Zeroize::zeroize itself on Drop.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
impl ZeroizeOnDrop for ()
() is zero sized so provide a ZeroizeOnDrop implementation.
impl ZeroizeOnDrop for ChaCha20LegacyCore
Available on crate feature
zeroize only.impl ZeroizeOnDrop for EphemeralSecretKey
impl ZeroizeOnDrop for EphemeralSecretKey
impl ZeroizeOnDrop for PhantomPinned
PhantomPinned is zero sized so provide a ZeroizeOnDrop implementation.
impl ZeroizeOnDrop for SecretDocument
Available on crate feature
zeroize only.impl ZeroizeOnDrop for SecretKey
impl ZeroizeOnDrop for SecretKey
impl ZeroizeOnDrop for SigningKey
impl ZeroizeOnDrop for SigningKey
Available on crate feature
zeroize only.impl<A, B, C, D, E, F, G, H, I, J> ZeroizeOnDrop for (A, B, C, D, E, F, G, H, I, J)where
A: ZeroizeOnDrop,
B: ZeroizeOnDrop,
C: ZeroizeOnDrop,
D: ZeroizeOnDrop,
E: ZeroizeOnDrop,
F: ZeroizeOnDrop,
G: ZeroizeOnDrop,
H: ZeroizeOnDrop,
I: ZeroizeOnDrop,
J: ZeroizeOnDrop,
impl<A, B, C, D, E, F, G, H, I> ZeroizeOnDrop for (A, B, C, D, E, F, G, H, I)where
A: ZeroizeOnDrop,
B: ZeroizeOnDrop,
C: ZeroizeOnDrop,
D: ZeroizeOnDrop,
E: ZeroizeOnDrop,
F: ZeroizeOnDrop,
G: ZeroizeOnDrop,
H: ZeroizeOnDrop,
I: ZeroizeOnDrop,
impl<A, B, C, D, E, F, G, H> ZeroizeOnDrop for (A, B, C, D, E, F, G, H)where
A: ZeroizeOnDrop,
B: ZeroizeOnDrop,
C: ZeroizeOnDrop,
D: ZeroizeOnDrop,
E: ZeroizeOnDrop,
F: ZeroizeOnDrop,
G: ZeroizeOnDrop,
H: ZeroizeOnDrop,
impl<A, B, C, D, E, F, G> ZeroizeOnDrop for (A, B, C, D, E, F, G)where
A: ZeroizeOnDrop,
B: ZeroizeOnDrop,
C: ZeroizeOnDrop,
D: ZeroizeOnDrop,
E: ZeroizeOnDrop,
F: ZeroizeOnDrop,
G: ZeroizeOnDrop,
impl<A, B, C, D, E, F> ZeroizeOnDrop for (A, B, C, D, E, F)where
A: ZeroizeOnDrop,
B: ZeroizeOnDrop,
C: ZeroizeOnDrop,
D: ZeroizeOnDrop,
E: ZeroizeOnDrop,
F: ZeroizeOnDrop,
impl<A, B, C, D, E> ZeroizeOnDrop for (A, B, C, D, E)
impl<A, B, C, D> ZeroizeOnDrop for (A, B, C, D)
impl<A, B, C> ZeroizeOnDrop for (A, B, C)
impl<A, B> ZeroizeOnDrop for (A, B)where
A: ZeroizeOnDrop,
B: ZeroizeOnDrop,
impl<A> ZeroizeOnDrop for (A,)where
A: ZeroizeOnDrop,
impl<C, N> ZeroizeOnDrop for ChaChaPoly1305<C, N>where
N: ArrayLength<u8>,
impl<C> ZeroizeOnDrop for EphemeralSecret<C>where
C: CurveArithmetic,
impl<C> ZeroizeOnDrop for SecretKey<C>where
C: Curve,
impl<C> ZeroizeOnDrop for SigningKey<C>where
C: PrimeCurve + CurveArithmetic,
<C as CurveArithmetic>::Scalar: Invert<Output = CtOption<<C as CurveArithmetic>::Scalar>> + SignPrimitive<C>,
<<C as Curve>::FieldBytesSize as Add>::Output: ArrayLength<u8>,
impl<R> ZeroizeOnDrop for ChaChaCore<R>where
R: Unsigned,
Available on crate feature
zeroize only.impl<R> ZeroizeOnDrop for XChaChaCore<R>where
R: Unsigned,
Available on crate feature
zeroize only.impl<T> ZeroizeOnDrop for StreamCipherCoreWrapper<T>where
T: BlockSizeUser + ZeroizeOnDrop,
<T as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>,
<<T as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,
Available on crate feature
zeroize only.impl<Z, const N: usize> ZeroizeOnDrop for [Z; N]where
Z: ZeroizeOnDrop,
Impl ZeroizeOnDrop on arrays of types that impl ZeroizeOnDrop.
impl<Z> ZeroizeOnDrop for Box<[Z]>where
Z: ZeroizeOnDrop,
Available on crate feature
alloc only.impl<Z> ZeroizeOnDrop for Option<Z>where
Z: ZeroizeOnDrop,
impl<Z> ZeroizeOnDrop for PhantomData<Z>
[PhantomData is always zero sized so provide a ZeroizeOnDrop implementation.
impl<Z> ZeroizeOnDrop for Vec<Z>where
Z: ZeroizeOnDrop,
Available on crate feature
alloc only.