1use crate::{Redacted, Redactor};
9use zeroize::{TryZeroize, Zeroize, ZeroizeOnDrop};
10
11#[cfg(any(feature = "zeroize", doc))]
12impl<T, R> Zeroize for Redacted<T, R>
13where
14 T: Zeroize,
15 R: Redactor,
16{
17 fn zeroize(&mut self) {
18 self.inner.zeroize()
19 }
20}
21
22#[cfg(any(feature = "zeroize", doc))]
23impl<T, R> TryZeroize for Redacted<T, R>
24where
25 T: TryZeroize,
26 R: Redactor,
27{
28 fn try_zeroize(&mut self) -> bool {
29 self.inner.try_zeroize()
30 }
31}
32
33#[cfg(any(feature = "zeroize", doc))]
34impl<T, R> ZeroizeOnDrop for Redacted<T, R>
35where
36 T: ZeroizeOnDrop,
37 R: Redactor,
38{
39}