[][src]Trait zeroize::Zeroize

pub trait Zeroize {
    fn zeroize(&mut self);
}

Trait for securely erasing types from memory

Required methods

fn zeroize(&mut self)

Zero out this object from memory (using Rust or OS intrinsics which ensure the zeroization operation is not "optimized away")

Loading content...

Implementations on Foreign Types

impl<Z> Zeroize for [Z; 1] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 2] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 3] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 4] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 5] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 6] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 7] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 8] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 9] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 10] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 11] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 12] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 13] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 14] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 15] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 16] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 17] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 18] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 19] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 20] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 21] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 22] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 23] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 24] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 25] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 26] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 27] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 28] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 29] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 30] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 31] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 32] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 33] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 34] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 35] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 36] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 37] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 38] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 39] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 40] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 41] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 42] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 43] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 44] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 45] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 46] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 47] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 48] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 49] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 50] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 51] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 52] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 53] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 54] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 55] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 56] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 57] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 58] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 59] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 60] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 61] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 62] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 63] where
    Z: DefaultIsZeroes
[src]

impl<Z> Zeroize for [Z; 64] where
    Z: DefaultIsZeroes
[src]

impl<'a, Z> Zeroize for IterMut<'a, Z> where
    Z: Zeroize
[src]

impl<Z> Zeroize for [Z] where
    Z: DefaultIsZeroes
[src]

Implement Zeroize on slices of types that can be zeroized with Default.

This impl can eventually be optimized using an atomic memset intrinsic, such as llvm.memset.element.unordered.atomic. For that reason the blanket impl on slices is bounded by DefaultIsZeroes. See:

https://github.com/rust-lang/rust/issues/58599

To zeroize a mut slice of Z: Zeroize which does not impl DefaultIsZeroes, call iter_mut().zeroize().

impl<Z> Zeroize for Vec<Z> where
    Z: DefaultIsZeroes
[src]

impl Zeroize for String[src]

Loading content...

Implementors

impl<Z> Zeroize for Zeroizing<Z> where
    Z: Zeroize
[src]

impl<Z> Zeroize for Z where
    Z: DefaultIsZeroes
[src]

Loading content...