pub trait ZeroizationProbe {
// Required method
fn is_zeroized(&self) -> bool;
}Expand description
Trait for verifying that a value has been zeroized.
This trait allows runtime checks to verify that zeroization actually happened. Used in tests and assertions to ensure no sensitive data remains in memory.
§Example
use redoubt_zero_core::{ZeroizationProbe, FastZeroizable};
let mut value: u32 = 42;
assert!(!value.is_zeroized());
value.fast_zeroize();
assert!(value.is_zeroized());
assert_eq!(value, 0);Required Methods§
Sourcefn is_zeroized(&self) -> bool
fn is_zeroized(&self) -> bool
Returns true if the value is zeroized (all bytes are 0).
This method should perform a runtime check to verify that the value has been properly zeroized.
Implementations on Foreign Types§
Source§impl ZeroizationProbe for bool
Implements ZeroizationProbe for bool (false is zeroized).
impl ZeroizationProbe for bool
Implements ZeroizationProbe for bool (false is zeroized).
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for char
Implements ZeroizationProbe for char (null char is zeroized).
impl ZeroizationProbe for char
Implements ZeroizationProbe for char (null char is zeroized).
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for f32
impl ZeroizationProbe for f32
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for f64
impl ZeroizationProbe for f64
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for i8
impl ZeroizationProbe for i8
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for i16
impl ZeroizationProbe for i16
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for i32
impl ZeroizationProbe for i32
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for i64
impl ZeroizationProbe for i64
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for i128
impl ZeroizationProbe for i128
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for isize
impl ZeroizationProbe for isize
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for u8
impl ZeroizationProbe for u8
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for u16
impl ZeroizationProbe for u16
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for u32
impl ZeroizationProbe for u32
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for u64
impl ZeroizationProbe for u64
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for u128
impl ZeroizationProbe for u128
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for ()
Unit type is trivially zeroized (no data to zeroize).
impl ZeroizationProbe for ()
Unit type is trivially zeroized (no data to zeroize).
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for usize
impl ZeroizationProbe for usize
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for String
impl ZeroizationProbe for String
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicBool
impl ZeroizationProbe for AtomicBool
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicI8
impl ZeroizationProbe for AtomicI8
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicI16
impl ZeroizationProbe for AtomicI16
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicI32
impl ZeroizationProbe for AtomicI32
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicI64
impl ZeroizationProbe for AtomicI64
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicIsize
impl ZeroizationProbe for AtomicIsize
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicU8
impl ZeroizationProbe for AtomicU8
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicU16
impl ZeroizationProbe for AtomicU16
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicU32
impl ZeroizationProbe for AtomicU32
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicU64
impl ZeroizationProbe for AtomicU64
fn is_zeroized(&self) -> bool
Source§impl ZeroizationProbe for AtomicUsize
impl ZeroizationProbe for AtomicUsize
fn is_zeroized(&self) -> bool
Source§impl<T> ZeroizationProbe for *const T
impl<T> ZeroizationProbe for *const T
fn is_zeroized(&self) -> bool
Source§impl<T> ZeroizationProbe for *mut T
impl<T> ZeroizationProbe for *mut T
fn is_zeroized(&self) -> bool
Source§impl<T> ZeroizationProbe for [T]
impl<T> ZeroizationProbe for [T]
fn is_zeroized(&self) -> bool
Source§impl<T> ZeroizationProbe for Vec<T>where
T: ZeroizationProbe,
impl<T> ZeroizationProbe for Vec<T>where
T: ZeroizationProbe,
Source§fn is_zeroized(&self) -> bool
fn is_zeroized(&self) -> bool
Returns true if all elements AND spare capacity are zeroed.
§Important
This is only meaningful after calling fast_zeroize().
A freshly allocated Vec may have uninitialized memory in
spare capacity, causing this to return false even if no
sensitive data was ever stored.