pub trait Zeroize {
fn zeroize(&mut self);
}
Expand description
Trait for securely erasing types from memory
Required methods
Implementations on Foreign Types
sourceimpl<Z, const N: usize> Zeroize for [Z; N] where
Z: Zeroize,
impl<Z, const N: usize> Zeroize for [Z; N] where
Z: Zeroize,
Implement Zeroize
on arrays of types that impl Zeroize
sourceimpl<Z> Zeroize for [MaybeUninit<Z>]
impl<Z> Zeroize for [MaybeUninit<Z>]
Impl Zeroize
on slices of MaybeUninit types
This impl can eventually be optimized using an memset intrinsic,
such as core::intrinsics::volatile_set_memory
.
This fills the slice with zeros
Note that this ignore invariants that Z might have, because MaybeUninit removes all invariants.
sourceimpl<Z> Zeroize for [Z] where
Z: DefaultIsZeroes,
impl<Z> Zeroize for [Z] where
Z: DefaultIsZeroes,
Impl Zeroize
on slices of types that can be zeroized with Default
.
This impl can eventually be optimized using an memset intrinsic,
such as core::intrinsics::volatile_set_memory
. For that reason the blanket
impl on slices is bounded by DefaultIsZeroes
.
To zeroize a mut slice of Z: Zeroize
which does not impl
DefaultIsZeroes
, call iter_mut().zeroize()
.